
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

void sqlite3_str_vappendf(sqlite3_str *pAccum,char *fmt,__va_list_tag *ap)

{
  uint uVar1;
  long lVar2;
  double *pdVar3;
  char *z;
  long *plVar4;
  double dVar5;
  double dVar6;
  bool bVar7;
  int iVar8;
  double dVar9;
  byte bVar10;
  byte bVar11;
  uint ch;
  int iVar12;
  uint uVar13;
  u32 uVar14;
  byte *pbVar15;
  size_t sVar16;
  long *plVar17;
  ulong uVar18;
  sqlite3_int64 sVar19;
  byte *pbVar20;
  char cVar21;
  uint uVar22;
  int iVar23;
  int *piVar24;
  ulong *puVar25;
  byte *pbVar26;
  byte bVar27;
  undefined8 *puVar28;
  long lVar29;
  byte *pbVar30;
  int iVar31;
  SrcList *pSrc;
  int iVar32;
  uint *puVar33;
  long lVar34;
  ulong uVar35;
  uint uVar36;
  etByte eVar37;
  et_info *peVar38;
  byte bVar39;
  byte bVar40;
  byte *pbVar41;
  long in_FS_OFFSET;
  bool bVar42;
  bool bVar43;
  double dVar44;
  double dVar45;
  byte *local_e0;
  PrintfArguments *local_d8;
  int local_c8;
  byte local_b6;
  byte local_b5;
  char buf [70];
  
  lVar2 = *(long *)(in_FS_OFFSET + 0x28);
  local_b6 = pAccum->printfFlags & 2;
  local_d8 = (PrintfArguments *)0x0;
  if ((pAccum->printfFlags & 2) != 0) {
    uVar13 = ap->gp_offset;
    if (uVar13 < 0x30) {
      puVar28 = (undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area);
      ap->gp_offset = uVar13 + 8;
    }
    else {
      puVar28 = (undefined8 *)ap->overflow_arg_area;
      ap->overflow_arg_area = puVar28 + 1;
    }
    local_d8 = (PrintfArguments *)*puVar28;
    local_b6 = 1;
  }
  bVar10 = *fmt;
  if (bVar10 != 0) {
    pbVar41 = (byte *)0x0;
    do {
      pbVar15 = (byte *)fmt;
      if (bVar10 != 0x25) {
        pbVar15 = (byte *)strchrnul(fmt,0x25);
        sqlite3_str_append(pAccum,fmt,(int)pbVar15 - (int)fmt);
        pbVar41 = (byte *)fmt;
        if (*pbVar15 == 0) break;
      }
      iVar12 = (int)(char)pbVar15[1];
      if (pbVar15[1] == 0) {
        sqlite3_str_append(pAccum,"%",1);
        break;
      }
      bVar42 = false;
      uVar13 = 0xffffffff;
      bVar40 = 0;
      bVar27 = 0;
      bVar7 = false;
      bVar39 = 0;
      bVar10 = 0;
      pbVar26 = (byte *)0x0;
      pbVar15 = pbVar15 + 1;
      do {
        pbVar30 = pbVar15;
        switch(iVar12) {
        case 0x20:
          iVar12 = (int)(char)pbVar15[1];
          bVar10 = 0x20;
          pbVar30 = pbVar15 + 1;
          break;
        case 0x21:
          iVar12 = (int)(char)pbVar15[1];
          bVar27 = 1;
          pbVar30 = pbVar15 + 1;
          break;
        default:
          goto switchD_0013e8bf_caseD_22;
        case 0x23:
          iVar12 = (int)(char)pbVar15[1];
          bVar39 = 1;
          pbVar30 = pbVar15 + 1;
          break;
        case 0x2a:
          if (local_b6 == 0) {
            uVar36 = ap->gp_offset;
            if (uVar36 < 0x30) {
              puVar33 = (uint *)((ulong)uVar36 + (long)ap->reg_save_area);
              ap->gp_offset = uVar36 + 8;
            }
            else {
              puVar33 = (uint *)ap->overflow_arg_area;
              ap->overflow_arg_area = puVar33 + 2;
            }
            pbVar26 = (byte *)(ulong)*puVar33;
          }
          else {
            uVar18 = getIntArg(local_d8);
            pbVar26 = (byte *)(uVar18 & 0xffffffff);
          }
          iVar12 = (int)pbVar26;
          if (iVar12 < 0) {
            if (iVar12 == -0x80000000) {
              bVar7 = true;
              pbVar26 = (byte *)0x0;
            }
            else {
              pbVar26 = (byte *)(ulong)(uint)-iVar12;
              bVar7 = true;
            }
          }
          iVar12 = (int)(char)pbVar15[1];
          pbVar30 = pbVar15 + 1;
          if ((iVar12 != 0x6c) && (iVar12 != 0x2e)) {
            cVar21 = '\0';
            goto LAB_0013e9c2;
          }
          break;
        case 0x2b:
          iVar12 = (int)(char)pbVar15[1];
          bVar10 = 0x2b;
          pbVar30 = pbVar15 + 1;
          break;
        case 0x2c:
          iVar12 = (int)(char)pbVar15[1];
          bVar40 = 0x2c;
          pbVar30 = pbVar15 + 1;
          break;
        case 0x2d:
          bVar7 = true;
          iVar12 = (int)(char)pbVar15[1];
          pbVar30 = pbVar15 + 1;
          break;
        case 0x2e:
          iVar12 = (int)(char)pbVar15[1];
          if (iVar12 == 0x2a) {
            if (local_b6 == 0) {
              uVar13 = ap->gp_offset;
              if (uVar13 < 0x30) {
                puVar33 = (uint *)((ulong)uVar13 + (long)ap->reg_save_area);
                ap->gp_offset = uVar13 + 8;
              }
              else {
                puVar33 = (uint *)ap->overflow_arg_area;
                ap->overflow_arg_area = puVar33 + 2;
              }
              uVar36 = *puVar33;
            }
            else {
              sVar19 = getIntArg(local_d8);
              uVar36 = (uint)sVar19;
            }
            uVar13 = uVar36;
            if (((int)uVar36 < 0) && (uVar13 = -uVar36, uVar36 == 0x80000000)) {
              uVar13 = 0xffffffff;
            }
            iVar12 = (int)(char)pbVar15[2];
            pbVar30 = pbVar15 + 2;
          }
          else {
            pbVar30 = pbVar15 + 1;
            uVar13 = 0;
            if (iVar12 - 0x30U < 10) {
              do {
                pbVar30 = pbVar30 + 1;
                uVar13 = iVar12 + -0x30 + uVar13 * 10;
                iVar12 = (int)(char)*pbVar30;
              } while (iVar12 - 0x30U < 10);
              uVar13 = uVar13 & 0x7fffffff;
            }
          }
          if (iVar12 != 0x6c) goto switchD_0013e8bf_caseD_22;
          iVar12 = (int)(char)*pbVar30;
          break;
        case 0x30:
          iVar12 = (int)(char)pbVar15[1];
          bVar42 = true;
          pbVar30 = pbVar15 + 1;
          break;
        case 0x31:
        case 0x32:
        case 0x33:
        case 0x34:
        case 0x35:
        case 0x36:
        case 0x37:
        case 0x38:
        case 0x39:
          iVar31 = (int)(char)pbVar15[1];
          pbVar26 = (byte *)(ulong)(iVar12 - 0x30);
          pbVar30 = pbVar15 + 1;
          iVar12 = iVar31;
          if (iVar31 - 0x30U < 10) {
            do {
              pbVar15 = pbVar30;
              pbVar30 = pbVar15 + 1;
              uVar36 = iVar31 + -0x30 + (int)pbVar26 * 10;
              pbVar26 = (byte *)(ulong)uVar36;
              iVar31 = (int)(char)pbVar15[1];
            } while (iVar31 - 0x30U < 10);
            pbVar26 = (byte *)(ulong)(uVar36 & 0x7fffffff);
            iVar12 = iVar31;
          }
          if ((iVar12 != 0x2e) && (iVar12 != 0x6c)) goto switchD_0013e8bf_caseD_22;
          pbVar30 = pbVar15 + 1;
          iVar12 = (int)(char)pbVar15[1];
          break;
        case 0x6c:
          iVar12 = (int)(char)pbVar15[1];
          if (iVar12 == 0x6c) {
            iVar12 = (int)(char)pbVar15[2];
            cVar21 = '\x02';
            pbVar30 = pbVar15 + 2;
          }
          else {
            pbVar30 = pbVar15 + 1;
            cVar21 = '\x01';
          }
          goto LAB_0013e9c2;
        }
        pbVar15 = pbVar30;
      } while (iVar12 != 0);
switchD_0013e8bf_caseD_22:
      cVar21 = '\0';
LAB_0013e9c2:
      uVar36 = (uint)pbVar26;
      peVar38 = fmtinfo;
      iVar31 = 0;
      iVar32 = 100;
      while (peVar38 = peVar38 + 1, iVar32 != iVar12) {
        iVar31 = iVar31 + 1;
        if (iVar31 == 0x17) goto switchD_0013ea21_caseD_11;
        iVar32 = (int)peVar38->fmttype;
      }
      eVar37 = fmtinfo[iVar31].type;
      switch(eVar37) {
      case '\0':
      case '\x0f':
        bVar40 = 0;
      case '\x10':
        if ((fmtinfo[iVar31].flags & 1) == 0) {
          if (local_b6 == 0) {
            uVar22 = ap->gp_offset;
            if (cVar21 == '\0') {
              if (uVar22 < 0x30) {
                puVar33 = (uint *)((ulong)uVar22 + (long)ap->reg_save_area);
                ap->gp_offset = uVar22 + 8;
              }
              else {
                puVar33 = (uint *)ap->overflow_arg_area;
                ap->overflow_arg_area = puVar33 + 2;
              }
              uVar18 = (ulong)*puVar33;
              bVar10 = 0;
            }
            else {
LAB_0013f48c:
              if (uVar22 < 0x30) {
                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);
                ap->gp_offset = uVar22 + 8;
              }
              else {
                puVar25 = (ulong *)ap->overflow_arg_area;
                ap->overflow_arg_area = puVar25 + 1;
              }
              uVar18 = *puVar25;
              bVar10 = 0;
            }
          }
          else {
LAB_0013f695:
            uVar18 = getIntArg(local_d8);
            bVar10 = 0;
          }
LAB_0013f51d:
          if (uVar18 == 0) {
            bVar39 = 0;
          }
        }
        else {
          if (local_b6 == 0) {
            uVar22 = ap->gp_offset;
            if (cVar21 == '\0') {
              if (uVar22 < 0x30) {
                piVar24 = (int *)((ulong)uVar22 + (long)ap->reg_save_area);
                ap->gp_offset = uVar22 + 8;
              }
              else {
                piVar24 = (int *)ap->overflow_arg_area;
                ap->overflow_arg_area = piVar24 + 2;
              }
              uVar18 = (ulong)*piVar24;
              if ((long)uVar18 < 0) goto LAB_0013eb61;
            }
            else {
LAB_0013f15e:
              if (uVar22 < 0x30) {
                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);
                ap->gp_offset = uVar22 + 8;
              }
              else {
                puVar25 = (ulong *)ap->overflow_arg_area;
                ap->overflow_arg_area = puVar25 + 1;
              }
              uVar18 = *puVar25;
              if ((long)uVar18 < 0) goto LAB_0013f180;
            }
            goto LAB_0013f51d;
          }
LAB_0013f4cf:
          uVar18 = getIntArg(local_d8);
          if (-1 < (long)uVar18) goto LAB_0013f51d;
LAB_0013f180:
          if (uVar18 == 0x8000000000000000) {
            bVar10 = 0x2d;
            uVar18 = 0x8000000000000000;
          }
          else {
LAB_0013eb61:
            uVar18 = -uVar18;
            bVar10 = 0x2d;
          }
        }
        if ((bVar42) && (uVar22 = uVar36 - (bVar10 != 0), (int)uVar13 < (int)uVar22)) {
          uVar13 = uVar22;
        }
        if ((int)uVar13 < 0x25) {
          local_e0 = (byte *)0x0;
          pbVar15 = (byte *)(buf + 0x45);
        }
        else {
          sVar19 = (long)(int)uVar13 + 10;
          if (bVar40 != 0) {
            sVar19 = sVar19 + (int)uVar13 / 3;
          }
          local_e0 = (byte *)printfTempBuf(pAccum,sVar19);
          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;
          pbVar15 = local_e0 + (long)(int)sVar19 + -1;
        }
        pbVar26 = pbVar15;
        if (eVar37 == '\x0f') {
          if ((uVar18 % 10 < 4) && ((uVar18 / 10) % 10 != 1)) {
            iVar12 = (int)(uVar18 % 10) * 2;
            bVar27 = "thstndrd"[iVar12 + 1];
            bVar11 = "thstndrd"[iVar12];
          }
          else {
            bVar11 = 0x74;
            bVar27 = 0x68;
          }
          pbVar15[-1] = bVar27;
          pbVar26 = pbVar15 + -2;
          pbVar15[-2] = bVar11;
        }
        bVar27 = fmtinfo[iVar31].charset;
        uVar35 = (ulong)fmtinfo[iVar31].base;
        do {
          pbVar26 = pbVar26 + -1;
          *pbVar26 = "0123456789ABCDEF0123456789abcdef"[uVar18 % uVar35 + (ulong)bVar27];
          bVar42 = uVar35 <= uVar18;
          uVar18 = uVar18 / uVar35;
        } while (bVar42);
        uVar22 = (int)pbVar15 - (int)pbVar26;
        pbVar41 = pbVar26;
        if ((int)uVar22 < (int)uVar13) {
          pbVar41 = pbVar26 + ~(ulong)((uVar13 - 1) - uVar22);
          do {
            pbVar26 = pbVar26 + -1;
            *pbVar26 = 0x30;
            uVar22 = uVar13;
          } while (pbVar26 != pbVar41);
        }
        if (bVar40 != 0) {
          iVar32 = (int)(uVar22 - 1) / 3;
          iVar12 = (int)(uVar22 - 1) % 3 + 1;
          pbVar41 = pbVar41 + -(long)iVar32;
          if (iVar32 != 0) {
            iVar8 = 0;
            while( true ) {
              do {
                iVar23 = iVar8;
                pbVar41[iVar23] = pbVar41[iVar32 + iVar23];
                iVar12 = iVar12 + -1;
                iVar8 = iVar23 + 1;
              } while (iVar12 != 0);
              pbVar41[iVar23 + 1] = bVar40;
              iVar32 = iVar32 + -1;
              if (iVar32 == 0) break;
              iVar12 = 3;
              iVar8 = iVar23 + 2;
            }
          }
        }
        if (bVar10 != 0) {
          pbVar41[-1] = bVar10;
          pbVar41 = pbVar41 + -1;
        }
        if ((bVar39 != 0) && (bVar10 = fmtinfo[iVar31].prefix, bVar10 != 0)) {
          pbVar26 = (byte *)("-x0" + bVar10);
          bVar10 = "-x0"[bVar10];
          while (bVar10 != 0) {
            pbVar41 = pbVar41 + -1;
            pbVar26 = pbVar26 + 1;
            *pbVar41 = bVar10;
            bVar10 = *pbVar26;
          }
        }
        uVar22 = (int)pbVar15 - (int)pbVar41;
        uVar36 = uVar36 - uVar22;
LAB_0013f018:
        if ((int)uVar36 < 1) {
LAB_0013fd63:
          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);
        }
        else if (bVar7) {
          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);
          sqlite3_str_appendchar(pAccum,uVar36,' ');
        }
        else {
          sqlite3_str_appendchar(pAccum,uVar36,' ');
          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);
        }
        if (local_e0 != (byte *)0x0) {
          sqlite3DbFreeNN(pAccum->db,local_e0);
        }
        break;
      case '\x01':
      case '\x02':
      case '\x03':
        if (local_b6 == 0) {
          uVar22 = ap->fp_offset;
          if (uVar22 < 0xb0) {
            ap->fp_offset = uVar22 + 0x10;
            dVar44 = *(double *)((ulong)uVar22 + (long)ap->reg_save_area);
          }
          else {
            pdVar3 = (double *)ap->overflow_arg_area;
            ap->overflow_arg_area = pdVar3 + 1;
            dVar44 = *pdVar3;
          }
          if (uVar13 == 0xffffffff) goto LAB_0013ec1b;
LAB_0013fb0a:
          bVar43 = 0 < (int)uVar13;
        }
        else {
          iVar12 = local_d8->nUsed;
          if (iVar12 < local_d8->nArg) {
            local_d8->nUsed = iVar12 + 1;
            dVar44 = sqlite3_value_double(local_d8->apArg[iVar12]);
          }
          else {
            dVar44 = 0.0;
          }
          if (uVar13 != 0xffffffff) goto LAB_0013fb0a;
LAB_0013ec1b:
          bVar43 = true;
          uVar13 = 6;
        }
        if (dVar44 < 0.0) {
          dVar44 = -dVar44;
          bVar10 = 0x2d;
        }
        dVar45 = DAT_001fae78;
        if ((eVar37 != '\x03') || (!bVar43)) {
          uVar22 = uVar13 & 0xfff;
          goto joined_r0x0013ec49;
        }
        uVar13 = uVar13 - 1;
        uVar22 = uVar13 & 0xfff;
        if (uVar22 != 0) {
          do {
            dVar45 = dVar45 * DAT_001faf40;
            uVar22 = uVar22 - 1;
joined_r0x0013ec49:
          } while (uVar22 != 0);
          if (eVar37 == '\x01') {
            dVar44 = dVar45 + dVar44;
          }
        }
        if (NAN(dVar44)) {
          uVar36 = uVar36 - 3;
          uVar22 = 3;
          local_e0 = (byte *)0x0;
          pbVar41 = &DAT_001e98fc;
          goto LAB_0013f018;
        }
        uVar18 = 0;
        if (0.0 < dVar44) {
          dVar5 = _DAT_001faf38;
          if (dVar44 < _DAT_001faf38) {
            dVar5 = (double)_DAT_001fae18;
            bVar43 = true;
            dVar6 = 1.0;
          }
          else {
            do {
              dVar6 = dVar5;
              uVar22 = (int)uVar18 + 100;
              uVar18 = (ulong)uVar22;
              bVar43 = (int)uVar22 < 0x15f;
              dVar5 = _DAT_001faf38 * dVar6;
            } while (_DAT_001faf38 * dVar6 <= dVar44 && (int)uVar22 < 0x15f);
            dVar5 = dVar6 * (double)_DAT_001fae18;
          }
          if ((dVar5 <= dVar44) && (bVar43)) {
            do {
              dVar6 = dVar5;
              uVar22 = (int)uVar18 + 10;
              uVar18 = (ulong)uVar22;
              bVar43 = (int)uVar22 < 0x15f;
              dVar5 = dVar6 * (double)_DAT_001fae18;
            } while (dVar6 * (double)_DAT_001fae18 <= dVar44 && bVar43);
          }
          dVar5 = (double)_DAT_001fae10;
          if ((dVar6 * dVar5 <= dVar44) && (dVar9 = dVar6 * dVar5, bVar43)) {
            do {
              dVar6 = dVar9;
              uVar22 = (int)uVar18 + 1;
              uVar18 = (ulong)uVar22;
              dVar9 = dVar6 * dVar5;
            } while ((int)uVar22 < 0x15f && dVar6 * dVar5 <= dVar44);
          }
          for (dVar44 = dVar44 / dVar6; dVar44 < _DAT_001faf48;
              dVar44 = dVar44 * (double)_DAT_001fae1c) {
            uVar18 = (ulong)((int)uVar18 - 8);
          }
          for (; dVar44 < 1.0; dVar44 = dVar44 * dVar5) {
            uVar18 = (ulong)((int)uVar18 - 1);
          }
          if (0x15e < (int)uVar18) {
            pbVar41 = (byte *)buf;
            pbVar15 = pbVar41 + (bVar10 != 0);
            buf[0] = bVar10;
            pbVar15[0] = 0x49;
            pbVar15[1] = 0x6e;
            pbVar15[2] = 0x66;
            pbVar15[3] = 0;
            if (bVar10 == 0) {
              uVar36 = uVar36 - 3;
              uVar22 = 3;
              local_e0 = (byte *)0x0;
            }
            else {
              uVar36 = uVar36 - 4;
              uVar22 = 4;
              local_e0 = (byte *)0x0;
            }
            goto LAB_0013f018;
          }
        }
        local_c8 = (int)uVar18;
        local_b5 = bVar27;
        if (eVar37 == '\x01') {
          iVar12 = 0;
          if (-1 < local_c8) {
            iVar12 = local_c8;
          }
          lVar34 = (long)iVar12;
        }
        else {
          dVar44 = dVar45 + dVar44;
          if ((double)_DAT_001fae10 <= dVar44) {
            dVar44 = dVar44 * DAT_001faf40;
            uVar18 = (ulong)(local_c8 + 1);
          }
          local_c8 = (int)uVar18;
          if (eVar37 == '\x03') {
            local_b5 = bVar39 ^ 1;
            if ((local_c8 < -4) || ((int)uVar13 < local_c8)) {
              lVar34 = 0;
              eVar37 = '\x02';
              local_c8 = 0;
            }
            else {
              uVar13 = uVar13 - local_c8;
              iVar12 = 0;
              if (-1 < local_c8) {
                iVar12 = local_c8;
              }
              eVar37 = '\x01';
              lVar34 = (long)iVar12;
            }
          }
          else if (eVar37 == '\x02') {
            lVar34 = 0;
            local_c8 = 0;
          }
          else {
            eVar37 = '\x01';
            iVar12 = 0;
            if (-1 < local_c8) {
              iVar12 = local_c8;
            }
            lVar34 = (long)iVar12;
          }
        }
        lVar29 = (long)(int)uVar36;
        lVar34 = lVar34 + (int)uVar13 + 0xf + lVar29;
        if (lVar34 < 0x47) {
          local_e0 = (byte *)0x0;
          pbVar41 = (byte *)buf;
        }
        else {
          pbVar41 = (byte *)printfTempBuf(pAccum,lVar34);
          local_e0 = pbVar41;
          if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;
        }
        iVar12 = (uint)bVar27 * 10 + 0x10;
        bVar43 = 0 < (int)uVar13;
        pbVar26 = pbVar41;
        pbVar15 = pbVar41 + 1;
        if (bVar10 != 0) {
          *pbVar41 = bVar10;
          pbVar15 = pbVar41 + 2;
          pbVar26 = pbVar41 + 1;
        }
        if (local_c8 < 0) {
          *pbVar26 = 0x30;
          uVar22 = local_c8 + 1;
          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {
            pbVar26 = pbVar15 + 1;
            *pbVar15 = 0x2e;
            pbVar15 = pbVar26;
            if (uVar22 == 0) goto LAB_0013edc4;
LAB_0013ed90:
            pbVar26 = pbVar15;
            do {
              pbVar20 = pbVar26 + 1;
              *pbVar26 = 0x30;
              pbVar26 = pbVar20;
            } while (pbVar20 != pbVar15 + (ulong)~uVar22 + 1);
            uVar13 = (uVar13 - 1) + local_c8 + 2;
            pbVar15 = pbVar15 + (ulong)(uint)-(local_c8 + 2) + 1;
LAB_0013edc4:
            if (0 < (int)uVar13) {
              pbVar26 = pbVar15;
              do {
                while (pbVar20 = pbVar26 + 1, 0 < iVar12) {
                  iVar12 = iVar12 + -1;
                  local_c8._0_1_ = (char)(int)ROUND(dVar44);
                  *pbVar26 = (char)local_c8 + 0x30;
                  dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;
                  pbVar26 = pbVar20;
                  if (pbVar20 == pbVar15 + (ulong)(uVar13 - 1) + 1) goto LAB_0013ee39;
                }
                *pbVar26 = 0x30;
                pbVar26 = pbVar20;
              } while (pbVar20 != pbVar15 + (ulong)(uVar13 - 1) + 1);
LAB_0013ee39:
              pbVar15 = pbVar15 + (ulong)(uVar13 - 1) + 1;
            }
            goto LAB_0013ee42;
          }
          if (uVar22 != 0) goto LAB_0013ed90;
        }
        else {
          pbVar15 = pbVar26 + (long)local_c8 + 1;
          do {
            while (pbVar20 = pbVar26, pbVar26 = pbVar20 + 1, 0 < iVar12) {
              iVar12 = iVar12 + -1;
              local_c8._0_1_ = (char)(int)ROUND(dVar44);
              *pbVar20 = (char)local_c8 + 0x30;
              dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;
              if (pbVar26 == pbVar15) goto LAB_0013fe8d;
            }
            *pbVar20 = 0x30;
          } while (pbVar26 != pbVar15);
LAB_0013fe8d:
          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {
            pbVar15 = pbVar20 + 2;
            *pbVar26 = 0x2e;
            goto LAB_0013edc4;
          }
LAB_0013ee42:
          if ((local_b5 != 0) && (bVar43 || (bVar39 != 0 || bVar27 != 0))) {
            while (pbVar15[-1] == 0x30) {
              pbVar15 = pbVar15 + -1;
              *pbVar15 = 0;
            }
            if (pbVar15[-1] == 0x2e) {
              if (bVar27 == 0) {
                pbVar15[-1] = 0;
                pbVar15 = pbVar15 + -1;
              }
              else {
                *pbVar15 = 0x30;
                pbVar15 = pbVar15 + 1;
              }
            }
          }
        }
        if (eVar37 == '\x02') {
          pbVar26 = pbVar15 + 2;
          *pbVar15 = "0123456789ABCDEF0123456789abcdef"[fmtinfo[iVar31].charset];
          bVar27 = 0x2b;
          if ((int)uVar18 < 0) {
            uVar18 = (ulong)(uint)-(int)uVar18;
            bVar27 = 0x2d;
          }
          pbVar15[1] = bVar27;
          if (99 < (int)uVar18) {
            pbVar26 = pbVar15 + 3;
            pbVar15[2] = (char)(uVar18 / 100) + 0x30;
            uVar18 = (ulong)(uint)((int)uVar18 + (int)(uVar18 / 100) * -100);
          }
          pbVar15 = pbVar26 + 2;
          cVar21 = (char)(uVar18 / 10);
          *pbVar26 = cVar21 + 0x30;
          pbVar26[1] = (char)uVar18 + cVar21 * -10 + 0x30;
        }
        *pbVar15 = 0;
        uVar22 = (int)pbVar15 - (int)pbVar41;
        if (!(bool)(bVar42 & (bVar7 ^ 1U))) {
          uVar36 = uVar36 - uVar22;
          goto LAB_0013f018;
        }
        if ((int)uVar22 < (int)uVar36) {
          iVar12 = uVar36 - uVar22;
          if (iVar12 <= (int)uVar36) {
            do {
              pbVar41[lVar29] = pbVar41[lVar29 - iVar12];
              lVar29 = lVar29 + -1;
            } while (iVar12 <= (int)lVar29);
          }
          pbVar15 = pbVar41 + (bVar10 != 0);
          do {
            *pbVar15 = 0x30;
            pbVar15 = pbVar15 + 1;
            uVar22 = uVar36;
          } while (pbVar41 + (ulong)(iVar12 - 1) + (ulong)(bVar10 != 0) + 1 != pbVar15);
        }
        goto LAB_0013fd63;
      case '\x04':
        if (local_b6 != 0) {
LAB_0013f287:
          sqlite3_str_append(pAccum,(char *)pbVar41,0);
          break;
        }
        uVar14 = pAccum->nChar;
        uVar13 = ap->gp_offset;
        if (uVar13 < 0x30) {
          puVar28 = (undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area);
          ap->gp_offset = uVar13 + 8;
        }
        else {
          puVar28 = (undefined8 *)ap->overflow_arg_area;
          ap->overflow_arg_area = puVar28 + 1;
        }
        *(u32 *)*puVar28 = uVar14;
        sqlite3_str_append(pAccum,(char *)pbVar41,0);
        bVar10 = pbVar30[1];
        goto joined_r0x0013ebb8;
      case '\x05':
      case '\x06':
        if (local_b6 == 0) {
          uVar22 = ap->gp_offset;
          if (uVar22 < 0x30) {
            ap->gp_offset = uVar22 + 8;
            pbVar41 = *(byte **)((ulong)uVar22 + (long)ap->reg_save_area);
          }
          else {
            puVar28 = (undefined8 *)ap->overflow_arg_area;
            ap->overflow_arg_area = puVar28 + 1;
            pbVar41 = (byte *)*puVar28;
          }
          if (pbVar41 == (byte *)0x0) goto LAB_0013fb9a;
          if (eVar37 != '\x06') goto LAB_0013f840;
          local_e0 = pbVar41;
          if (((pAccum->nChar != 0) || (pAccum->mxAlloc == 0)) ||
             ((uVar36 != 0 || (-1 < (int)uVar13)))) goto joined_r0x0013fbae;
          if (pAccum->accError == '\0') {
            pAccum->zText = (char *)pbVar41;
            uVar14 = (*sqlite3Config.m.xSize)(pbVar41);
            pAccum->nAlloc = uVar14;
            sVar16 = strlen((char *)pbVar41);
            pAccum->printfFlags = pAccum->printfFlags | 4;
            pAccum->nChar = (uint)sVar16 & 0x7fffffff;
            sqlite3_str_append(pAccum,(char *)pbVar41,0);
            break;
          }
LAB_0013fbb4:
          sVar16 = strlen((char *)pbVar41);
          uVar22 = (uint)sVar16 & 0x7fffffff;
          goto LAB_0013fa12;
        }
        pbVar41 = (byte *)getTextArg(local_d8);
        if (pbVar41 == (byte *)0x0) {
LAB_0013fb9a:
          local_e0 = (byte *)0x0;
          pbVar41 = &DAT_001e836f;
        }
        else {
LAB_0013f840:
          local_e0 = (byte *)0x0;
        }
joined_r0x0013fbae:
        if (uVar13 == 0xffffffff) goto LAB_0013fbb4;
        pbVar15 = pbVar41;
        if (bVar27 != 0) {
          while ((pbVar20 = pbVar15, uVar13 = uVar13 - 1, uVar13 != 0xffffffff && (*pbVar20 != 0)))
          {
            pbVar15 = pbVar20 + 1;
            if (0xbf < *pbVar20) {
              bVar10 = pbVar20[1];
              while ((bVar10 & 0xc0) == 0x80) {
                pbVar15 = pbVar15 + 1;
                bVar10 = *pbVar15;
              }
            }
          }
          uVar22 = (int)pbVar20 - (int)pbVar41;
          bVar27 = 1;
          goto LAB_0013fa12;
        }
        if ((uVar13 == 0) || (*pbVar41 == 0)) {
          uVar22 = 0;
          goto LAB_0013f018;
        }
        lVar34 = 1;
        do {
          uVar22 = (uint)lVar34;
          if ((ulong)(uVar13 - 1) + 1 == lVar34) break;
          pbVar15 = pbVar41 + lVar34;
          lVar34 = lVar34 + 1;
        } while (*pbVar15 != 0);
        goto LAB_0013eff2;
      case '\a':
        buf[0] = '%';
        uVar36 = uVar36 - 1;
        pbVar41 = (byte *)buf;
        uVar22 = 1;
        local_e0 = (byte *)0x0;
        goto LAB_0013f018;
      case '\b':
        if (local_b6 == 0) {
          uVar22 = ap->gp_offset;
          if (uVar22 < 0x30) {
            ap->gp_offset = uVar22 + 8;
            uVar1 = *(uint *)((ulong)uVar22 + (long)ap->reg_save_area);
          }
          else {
            puVar33 = (uint *)ap->overflow_arg_area;
            ap->overflow_arg_area = puVar33 + 2;
            uVar1 = *puVar33;
          }
          if (uVar1 < 0x80) {
            buf[0] = (byte)uVar1;
            uVar22 = 1;
          }
          else {
            cVar21 = ((byte)uVar1 & 0x3f) + 0x80;
            bVar10 = (byte)(uVar1 >> 6);
            if (uVar1 < 0x800) {
              buf[1] = cVar21;
              uVar22 = 2;
              buf[0] = bVar10 - 0x40;
            }
            else {
              buf[2] = (bVar10 & 0x3f) + 0x80;
              bVar10 = (byte)(uVar1 >> 0xc);
              if (uVar1 < 0x10000) {
                buf[1] = buf[2];
                uVar22 = 3;
                buf[0] = bVar10 - 0x20;
                buf[2] = cVar21;
              }
              else {
                uVar22 = 4;
                buf[3] = cVar21;
                buf[0] = ((byte)(uVar1 >> 0x12) & 7) - 0x10;
                buf[1] = (bVar10 & 0x3f) + 0x80;
              }
            }
          }
        }
        else {
          pbVar41 = (byte *)getTextArg(local_d8);
          if (pbVar41 == (byte *)0x0) {
            buf[0] = '\0';
          }
          else {
            buf[0] = *pbVar41;
            if ((*pbVar41 & 0xc0) == 0xc0) {
              lVar34 = 1;
              do {
                uVar22 = (uint)lVar34;
                if ((pbVar41[lVar34] & 0xc0) != 0x80) goto joined_r0x0013fa79;
                buf[lVar34] = pbVar41[lVar34];
                lVar34 = lVar34 + 1;
              } while (lVar34 != 4);
              uVar22 = 4;
              goto joined_r0x0013fa79;
            }
          }
          uVar22 = 1;
        }
joined_r0x0013fa79:
        if (1 < (int)uVar13) {
          iVar12 = uVar13 - 1;
          uVar36 = uVar36 - iVar12;
          if (((int)uVar36 < 2) || (bVar7)) {
            local_e0 = (byte *)(ulong)uVar36;
          }
          else {
            sqlite3_str_appendchar(pAccum,uVar36 - 1,' ');
            local_e0 = (byte *)0x0;
          }
          do {
            sqlite3_str_append(pAccum,buf,uVar22);
            iVar12 = iVar12 + -1;
          } while (iVar12 != 0);
          pbVar26 = local_e0;
          uVar36 = (uint)local_e0;
        }
        if (0 < (int)uVar36) {
          pbVar41 = (byte *)buf;
          local_e0 = (byte *)0x0;
          iVar12 = uVar22 - 1;
          goto LAB_0013efc6;
        }
        pbVar41 = (byte *)buf;
        sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);
        break;
      case '\t':
      case '\n':
      case '\x0e':
        bVar10 = (eVar37 != '\x0e') * '\x05' + 0x22;
        if (local_b6 == 0) {
          uVar22 = ap->gp_offset;
          if (uVar22 < 0x30) {
            puVar28 = (undefined8 *)((ulong)uVar22 + (long)ap->reg_save_area);
            ap->gp_offset = uVar22 + 8;
          }
          else {
            puVar28 = (undefined8 *)ap->overflow_arg_area;
            ap->overflow_arg_area = puVar28 + 1;
          }
          local_e0 = (byte *)*puVar28;
          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;
LAB_0013f8df:
          if ((uVar13 != 0) && (bVar39 = *local_e0, pbVar15 = local_e0, bVar39 != 0))
          goto LAB_0013f8fa;
          if (eVar37 != '\n') {
            pbVar20 = (byte *)buf;
            uVar22 = 0;
            local_e0 = (byte *)0x0;
            pbVar41 = pbVar20;
            goto LAB_0013fa0c;
          }
          pbVar41 = (byte *)buf;
          buf[0] = bVar10;
          lVar34 = 2;
          uVar22 = 2;
          local_e0 = (byte *)0x0;
          pbVar20 = (byte *)(buf + 1);
LAB_0013fa06:
          *pbVar20 = bVar10;
          pbVar20 = pbVar41 + lVar34;
        }
        else {
          local_e0 = (byte *)getTextArg(local_d8);
          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;
LAB_0013eec9:
          pbVar15 = (byte *)0x1e846d;
          if (eVar37 != '\n') {
            pbVar15 = &DAT_001e9900;
          }
          if (uVar13 == 0) {
            pbVar20 = (byte *)buf;
            uVar22 = 0;
            pbVar41 = pbVar20;
          }
          else {
            bVar39 = *pbVar15;
LAB_0013f8fa:
            iVar31 = 0;
            iVar12 = 0;
            do {
              iVar32 = iVar12;
              if (bVar10 == bVar39) {
                iVar31 = iVar31 + 1;
              }
              else if (((bVar27 != 0) && ((bVar39 & 0xc0) == 0xc0)) &&
                      (((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U) == 0x80)) {
                lVar34 = (long)(iVar12 + 1);
                do {
                  lVar29 = lVar34 + 1;
                  iVar32 = (int)lVar34;
                  lVar34 = lVar34 + 1;
                } while (((int)(char)pbVar15[lVar29] & 0xc0U) == 0x80);
              }
              iVar12 = iVar32 + 1;
              if (uVar13 == 1) break;
              uVar13 = uVar13 - 1;
              bVar39 = pbVar15[iVar12];
            } while (bVar39 != 0);
            bVar43 = local_e0 != (byte *)0x0;
            iVar31 = iVar32 + 4 + iVar31;
            bVar42 = bVar43 && eVar37 == '\n';
            if (iVar31 < 0x47) {
              local_e0 = (byte *)0x0;
              pbVar41 = (byte *)buf;
            }
            else {
              pbVar41 = (byte *)printfTempBuf(pAccum,(long)iVar31);
              local_e0 = pbVar41;
              if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;
            }
            if (bVar42) {
              *pbVar41 = bVar10;
            }
            lVar34 = 0;
            uVar13 = (uint)bVar42;
            do {
              while( true ) {
                bVar39 = pbVar15[lVar34];
                uVar22 = uVar13 + 1;
                pbVar41[(int)uVar13] = bVar39;
                pbVar20 = pbVar41 + (int)uVar22;
                if (bVar10 != bVar39) break;
                uVar22 = uVar13 + 2;
                *pbVar20 = bVar10;
                lVar34 = lVar34 + 1;
                pbVar20 = pbVar41 + (int)uVar22;
                uVar13 = uVar22;
                if (iVar12 <= (int)lVar34) goto LAB_0013f9fa;
              }
              lVar34 = lVar34 + 1;
              uVar13 = uVar22;
            } while ((int)lVar34 < iVar12);
LAB_0013f9fa:
            if (bVar43 && eVar37 == '\n') {
              uVar22 = uVar22 + 1;
              lVar34 = (long)(int)uVar22;
              goto LAB_0013fa06;
            }
          }
        }
LAB_0013fa0c:
        *pbVar20 = 0;
LAB_0013fa12:
        if (((0 < (int)uVar36) && (bVar27 != 0)) && (iVar12 = uVar22 - 1, -1 < iVar12)) {
LAB_0013efc6:
          lVar34 = (long)iVar12;
          do {
            pbVar15 = pbVar41 + lVar34;
            lVar34 = lVar34 + -1;
            uVar36 = (int)pbVar26 + (uint)(((int)(char)*pbVar15 & 0xc0U) == 0x80);
            pbVar26 = (byte *)(ulong)uVar36;
          } while (-1 < (int)lVar34);
        }
LAB_0013eff2:
        uVar36 = uVar36 - uVar22;
        goto LAB_0013f018;
      case '\v':
        if ((pAccum->printfFlags & 1) == 0) goto switchD_0013ea21_caseD_11;
        uVar13 = ap->gp_offset;
        if (uVar13 < 0x30) {
          plVar17 = (long *)((ulong)uVar13 + (long)ap->reg_save_area);
          ap->gp_offset = uVar13 + 8;
        }
        else {
          plVar17 = (long *)ap->overflow_arg_area;
          ap->overflow_arg_area = plVar17 + 1;
        }
        puVar28 = (undefined8 *)*plVar17;
        if ((puVar28 == (undefined8 *)0x0) || (*(int *)(puVar28 + 1) == 0)) goto LAB_0013f287;
        sqlite3_str_append(pAccum,(char *)*puVar28,*(int *)(puVar28 + 1));
        sqlite3_str_append(pAccum,(char *)pbVar41,0);
        break;
      case '\f':
        if ((pAccum->printfFlags & 1) == 0) goto switchD_0013ea21_caseD_11;
        uVar13 = ap->gp_offset;
        if (uVar13 < 0x30) {
          uVar36 = uVar13 + 8;
          ap->gp_offset = uVar36;
          lVar34 = *(long *)((long)ap->reg_save_area + (ulong)uVar13);
          if (0x2f < uVar36) {
            plVar17 = (long *)ap->overflow_arg_area;
            goto LAB_0013f46b;
          }
          plVar17 = (long *)((long)ap->reg_save_area + (ulong)uVar36);
          ap->gp_offset = uVar13 + 0x10;
        }
        else {
          plVar4 = (long *)ap->overflow_arg_area;
          plVar17 = plVar4 + 1;
          ap->overflow_arg_area = plVar17;
          lVar34 = *plVar4;
LAB_0013f46b:
          ap->overflow_arg_area = plVar17 + 1;
        }
        lVar29 = *plVar17;
        z = *(char **)(lVar34 + 0x10 + (long)(int)lVar29 * 0x70);
        if (z != (char *)0x0) {
          sqlite3_str_appendall(pAccum,z);
          sqlite3_str_append(pAccum,".",1);
        }
        sqlite3_str_appendall(pAccum,*(char **)(lVar34 + 0x18 + (long)(int)lVar29 * 0x70));
        sqlite3_str_append(pAccum,(char *)pbVar41,0);
        break;
      case '\r':
        bVar40 = fmtinfo[iVar31].flags & 1;
        if ((fmtinfo[iVar31].flags & 1) == 0) {
          if (local_b6 != 0) goto LAB_0013f695;
          uVar22 = ap->gp_offset;
          bVar40 = 0;
          goto LAB_0013f48c;
        }
        bVar40 = 0;
        if (local_b6 == 0) {
          uVar22 = ap->gp_offset;
          goto LAB_0013f15e;
        }
        goto LAB_0013f4cf;
      default:
        goto switchD_0013ea21_caseD_11;
      }
      bVar10 = pbVar30[1];
joined_r0x0013ebb8:
      fmt = (char *)(pbVar30 + 1);
    } while (bVar10 != 0);
  }
switchD_0013ea21_caseD_11:
  if (lVar2 == *(long *)(in_FS_OFFSET + 0x28)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}



/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

void FUN_0013e7b0(undefined8 *param_1,byte *param_2,uint *param_3)

{
  double *pdVar1;
  long *plVar2;
  double dVar3;
  double dVar4;
  bool bVar5;
  double dVar6;
  byte bVar7;
  byte bVar8;
  int iVar9;
  uint uVar10;
  undefined4 uVar11;
  uint uVar12;
  byte *pbVar13;
  byte *pbVar14;
  size_t sVar15;
  long *plVar16;
  byte *pbVar17;
  char cVar18;
  uint uVar19;
  int iVar20;
  int *piVar21;
  ulong *puVar22;
  long lVar23;
  byte *pbVar24;
  byte bVar25;
  undefined8 *puVar26;
  long lVar27;
  ulong uVar28;
  int iVar29;
  long lVar30;
  int iVar31;
  uint *puVar32;
  char cVar33;
  char *pcVar34;
  byte bVar35;
  byte bVar36;
  ulong uVar37;
  byte *pbVar38;
  long in_FS_OFFSET;
  bool bVar39;
  bool bVar40;
  double dVar41;
  double dVar42;
  byte *local_e0;
  int *local_d8;
  int local_c8;
  byte local_b6;
  byte local_b5;
  byte local_88 [69];
  byte local_43 [3];
  long local_40;
  
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  local_b6 = *(byte *)((long)param_1 + 0x1d) & 2;
  local_d8 = (int *)0x0;
  if ((*(byte *)((long)param_1 + 0x1d) & 2) != 0) {
    uVar10 = *param_3;
    if (uVar10 < 0x30) {
      puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));
      *param_3 = uVar10 + 8;
    }
    else {
      puVar26 = *(undefined8 **)(param_3 + 2);
      *(undefined8 **)(param_3 + 2) = puVar26 + 1;
    }
    local_d8 = (int *)*puVar26;
    local_b6 = 1;
  }
  bVar7 = *param_2;
  if (bVar7 != 0) {
    pbVar38 = (byte *)0x0;
    do {
      pbVar13 = param_2;
      if (bVar7 != 0x25) {
        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);
        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);
        pbVar38 = param_2;
        if (*pbVar13 == 0) break;
      }
      iVar9 = (int)(char)pbVar13[1];
      if (pbVar13[1] == 0) {
        FUN_0013e580(param_1,&DAT_001e9c91,1);
        break;
      }
      bVar39 = false;
      uVar10 = 0xffffffff;
      bVar36 = 0;
      bVar25 = 0;
      bVar5 = false;
      bVar35 = 0;
      bVar7 = 0;
      pbVar24 = (byte *)0x0;
      pbVar13 = pbVar13 + 1;
      do {
        param_2 = pbVar13;
        switch(iVar9) {
        case 0x20:
          iVar9 = (int)(char)pbVar13[1];
          bVar7 = 0x20;
          param_2 = pbVar13 + 1;
          break;
        case 0x21:
          iVar9 = (int)(char)pbVar13[1];
          bVar25 = 1;
          param_2 = pbVar13 + 1;
          break;
        default:
          goto switchD_0013e8bf_caseD_22;
        case 0x23:
          iVar9 = (int)(char)pbVar13[1];
          bVar35 = 1;
          param_2 = pbVar13 + 1;
          break;
        case 0x2a:
          if (local_b6 == 0) {
            uVar12 = *param_3;
            if (uVar12 < 0x30) {
              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));
              *param_3 = uVar12 + 8;
            }
            else {
              puVar32 = *(uint **)(param_3 + 2);
              *(uint **)(param_3 + 2) = puVar32 + 2;
            }
            uVar12 = *puVar32;
          }
          else {
            uVar12 = FUN_001203a0();
          }
          pbVar24 = (byte *)(ulong)uVar12;
          if ((int)uVar12 < 0) {
            if (uVar12 == 0x80000000) {
              bVar5 = true;
              pbVar24 = (byte *)0x0;
            }
            else {
              pbVar24 = (byte *)(ulong)-uVar12;
              bVar5 = true;
            }
          }
          iVar9 = (int)(char)pbVar13[1];
          param_2 = pbVar13 + 1;
          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {
            cVar18 = '\0';
            goto LAB_0013e9c2;
          }
          break;
        case 0x2b:
          iVar9 = (int)(char)pbVar13[1];
          bVar7 = 0x2b;
          param_2 = pbVar13 + 1;
          break;
        case 0x2c:
          iVar9 = (int)(char)pbVar13[1];
          bVar36 = 0x2c;
          param_2 = pbVar13 + 1;
          break;
        case 0x2d:
          bVar5 = true;
          iVar9 = (int)(char)pbVar13[1];
          param_2 = pbVar13 + 1;
          break;
        case 0x2e:
          iVar9 = (int)(char)pbVar13[1];
          if (iVar9 == 0x2a) {
            if (local_b6 == 0) {
              uVar10 = *param_3;
              if (uVar10 < 0x30) {
                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));
                *param_3 = uVar10 + 8;
              }
              else {
                puVar32 = *(uint **)(param_3 + 2);
                *(uint **)(param_3 + 2) = puVar32 + 2;
              }
              uVar12 = *puVar32;
            }
            else {
              uVar12 = FUN_001203a0();
            }
            uVar10 = uVar12;
            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {
              uVar10 = 0xffffffff;
            }
            iVar9 = (int)(char)pbVar13[2];
            param_2 = pbVar13 + 2;
          }
          else {
            param_2 = pbVar13 + 1;
            uVar10 = 0;
            if (iVar9 - 0x30U < 10) {
              do {
                param_2 = param_2 + 1;
                uVar10 = iVar9 + -0x30 + uVar10 * 10;
                iVar9 = (int)(char)*param_2;
              } while (iVar9 - 0x30U < 10);
              uVar10 = uVar10 & 0x7fffffff;
            }
          }
          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;
          iVar9 = (int)(char)*param_2;
          break;
        case 0x30:
          iVar9 = (int)(char)pbVar13[1];
          bVar39 = true;
          param_2 = pbVar13 + 1;
          break;
        case 0x31:
        case 0x32:
        case 0x33:
        case 0x34:
        case 0x35:
        case 0x36:
        case 0x37:
        case 0x38:
        case 0x39:
          iVar29 = (int)(char)pbVar13[1];
          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);
          param_2 = pbVar13 + 1;
          iVar9 = iVar29;
          if (iVar29 - 0x30U < 10) {
            do {
              pbVar13 = param_2;
              param_2 = pbVar13 + 1;
              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;
              pbVar24 = (byte *)(ulong)uVar12;
              iVar29 = (int)(char)pbVar13[1];
            } while (iVar29 - 0x30U < 10);
            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);
            iVar9 = iVar29;
          }
          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;
          param_2 = pbVar13 + 1;
          iVar9 = (int)(char)pbVar13[1];
          break;
        case 0x6c:
          iVar9 = (int)(char)pbVar13[1];
          if (iVar9 == 0x6c) {
            iVar9 = (int)(char)pbVar13[2];
            cVar18 = '\x02';
            param_2 = pbVar13 + 2;
          }
          else {
            param_2 = pbVar13 + 1;
            cVar18 = '\x01';
          }
          goto LAB_0013e9c2;
        }
        pbVar13 = param_2;
      } while (iVar9 != 0);
switchD_0013e8bf_caseD_22:
      cVar18 = '\0';
LAB_0013e9c2:
      uVar12 = (uint)pbVar24;
      pcVar34 = "s";
      iVar29 = 0;
      iVar31 = 100;
      while (iVar31 != iVar9) {
        iVar29 = iVar29 + 1;
        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;
        cVar33 = *pcVar34;
        pcVar34 = pcVar34 + 6;
        iVar31 = (int)cVar33;
      }
      lVar30 = (long)iVar29;
      cVar33 = (&DAT_001f5563)[lVar30 * 6];
      switch(cVar33) {
      case '\0':
      case '\x0f':
        bVar36 = 0;
      case '\x10':
        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {
          if (local_b6 == 0) {
            uVar19 = *param_3;
            if (cVar18 == '\0') {
              if (uVar19 < 0x30) {
                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));
                *param_3 = uVar19 + 8;
              }
              else {
                puVar32 = *(uint **)(param_3 + 2);
                *(uint **)(param_3 + 2) = puVar32 + 2;
              }
              uVar37 = (ulong)*puVar32;
              bVar7 = 0;
            }
            else {
LAB_0013f48c:
              if (uVar19 < 0x30) {
                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));
                *param_3 = uVar19 + 8;
              }
              else {
                puVar22 = *(ulong **)(param_3 + 2);
                *(ulong **)(param_3 + 2) = puVar22 + 1;
              }
              uVar37 = *puVar22;
              bVar7 = 0;
            }
          }
          else {
LAB_0013f695:
            uVar37 = FUN_001203a0(local_d8);
            bVar7 = 0;
          }
LAB_0013f51d:
          if (uVar37 == 0) {
            bVar35 = 0;
          }
        }
        else {
          if (local_b6 == 0) {
            uVar19 = *param_3;
            if (cVar18 == '\0') {
              if (uVar19 < 0x30) {
                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));
                *param_3 = uVar19 + 8;
              }
              else {
                piVar21 = *(int **)(param_3 + 2);
                *(int **)(param_3 + 2) = piVar21 + 2;
              }
              uVar37 = (ulong)*piVar21;
              if ((long)uVar37 < 0) goto LAB_0013eb61;
            }
            else {
LAB_0013f15e:
              if (uVar19 < 0x30) {
                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));
                *param_3 = uVar19 + 8;
              }
              else {
                puVar22 = *(ulong **)(param_3 + 2);
                *(ulong **)(param_3 + 2) = puVar22 + 1;
              }
              uVar37 = *puVar22;
              if ((long)uVar37 < 0) goto LAB_0013f180;
            }
            goto LAB_0013f51d;
          }
LAB_0013f4cf:
          uVar37 = FUN_001203a0(local_d8);
          if (-1 < (long)uVar37) goto LAB_0013f51d;
LAB_0013f180:
          if (uVar37 == 0x8000000000000000) {
            bVar7 = 0x2d;
            uVar37 = 0x8000000000000000;
          }
          else {
LAB_0013eb61:
            uVar37 = -uVar37;
            bVar7 = 0x2d;
          }
        }
        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {
          uVar10 = uVar19;
        }
        if ((int)uVar10 < 0x25) {
          local_e0 = (byte *)0x0;
          pbVar13 = local_43;
        }
        else {
          lVar23 = (long)(int)uVar10 + 10;
          if (bVar36 != 0) {
            lVar23 = lVar23 + (int)uVar10 / 3;
          }
          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);
          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;
          pbVar13 = local_e0 + (long)(int)lVar23 + -1;
        }
        pbVar24 = pbVar13;
        if (cVar33 == '\x0f') {
          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {
            iVar9 = (int)(uVar37 % 10) * 2;
            bVar25 = "thstndrd"[iVar9 + 1];
            bVar8 = "thstndrd"[iVar9];
          }
          else {
            bVar8 = 0x74;
            bVar25 = 0x68;
          }
          pbVar13[-1] = bVar25;
          pbVar24 = pbVar13 + -2;
          pbVar13[-2] = bVar8;
        }
        bVar25 = (&DAT_001f5564)[lVar30 * 6];
        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];
        do {
          pbVar24 = pbVar24 + -1;
          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];
          bVar39 = uVar28 <= uVar37;
          uVar37 = uVar37 / uVar28;
        } while (bVar39);
        uVar19 = (int)pbVar13 - (int)pbVar24;
        pbVar38 = pbVar24;
        if ((int)uVar19 < (int)uVar10) {
          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);
          do {
            pbVar24 = pbVar24 + -1;
            *pbVar24 = 0x30;
            uVar19 = uVar10;
          } while (pbVar24 != pbVar38);
        }
        if (bVar36 != 0) {
          iVar29 = (int)(uVar19 - 1) / 3;
          iVar9 = (int)(uVar19 - 1) % 3 + 1;
          pbVar38 = pbVar38 + -(long)iVar29;
          if (iVar29 != 0) {
            iVar31 = 0;
            while( true ) {
              do {
                iVar20 = iVar31;
                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];
                iVar9 = iVar9 + -1;
                iVar31 = iVar20 + 1;
              } while (iVar9 != 0);
              pbVar38[iVar20 + 1] = bVar36;
              iVar29 = iVar29 + -1;
              if (iVar29 == 0) break;
              iVar9 = 3;
              iVar31 = iVar20 + 2;
            }
          }
        }
        if (bVar7 != 0) {
          pbVar38[-1] = bVar7;
          pbVar38 = pbVar38 + -1;
        }
        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {
          pbVar24 = &DAT_001f55ea + bVar7;
          bVar7 = (&DAT_001f55ea)[bVar7];
          while (bVar7 != 0) {
            pbVar38 = pbVar38 + -1;
            pbVar24 = pbVar24 + 1;
            *pbVar38 = bVar7;
            bVar7 = *pbVar24;
          }
        }
        uVar10 = (int)pbVar13 - (int)pbVar38;
        uVar37 = (ulong)uVar10;
        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);
LAB_0013f018:
        if ((int)pbVar24 < 1) {
LAB_0013fd63:
          FUN_0013e580(param_1,pbVar38,uVar37);
        }
        else if (bVar5) {
          FUN_0013e580(param_1,pbVar38,uVar37);
          FUN_0013e4b0(param_1,pbVar24,0x20);
        }
        else {
          FUN_0013e4b0(param_1,pbVar24,0x20);
          FUN_0013e580(param_1,pbVar38,uVar37);
        }
        if (local_e0 != (byte *)0x0) {
          FUN_00119e90(*param_1,local_e0);
        }
        break;
      case '\x01':
      case '\x02':
      case '\x03':
        if (local_b6 == 0) {
          uVar19 = param_3[1];
          if (uVar19 < 0xb0) {
            param_3[1] = uVar19 + 0x10;
            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));
          }
          else {
            pdVar1 = *(double **)(param_3 + 2);
            *(double **)(param_3 + 2) = pdVar1 + 1;
            dVar41 = *pdVar1;
          }
          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;
LAB_0013fb0a:
          bVar40 = 0 < (int)uVar10;
        }
        else {
          iVar9 = local_d8[1];
          if (iVar9 < *local_d8) {
            local_d8[1] = iVar9 + 1;
            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)
                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));
          }
          else {
            dVar41 = 0.0;
          }
          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;
LAB_0013ec1b:
          bVar40 = true;
          uVar10 = 6;
        }
        if (dVar41 < 0.0) {
          dVar41 = -dVar41;
          bVar7 = 0x2d;
        }
        dVar42 = DAT_001fae78;
        if ((cVar33 != '\x03') || (!bVar40)) {
          uVar19 = uVar10 & 0xfff;
          goto joined_r0x0013ec49;
        }
        uVar10 = uVar10 - 1;
        uVar19 = uVar10 & 0xfff;
        if (uVar19 != 0) {
          do {
            dVar42 = dVar42 * DAT_001faf40;
            uVar19 = uVar19 - 1;
joined_r0x0013ec49:
          } while (uVar19 != 0);
          if (cVar33 == '\x01') {
            dVar41 = dVar42 + dVar41;
          }
        }
        if (NAN(dVar41)) {
          pbVar24 = (byte *)(ulong)(uVar12 - 3);
          uVar37 = 3;
          local_e0 = (byte *)0x0;
          pbVar38 = &DAT_001e98fc;
          goto LAB_0013f018;
        }
        uVar37 = 0;
        if (0.0 < dVar41) {
          dVar3 = _DAT_001faf38;
          if (dVar41 < _DAT_001faf38) {
            dVar3 = (double)_DAT_001fae18;
            bVar40 = true;
            dVar4 = 1.0;
          }
          else {
            do {
              dVar4 = dVar3;
              uVar19 = (int)uVar37 + 100;
              uVar37 = (ulong)uVar19;
              bVar40 = (int)uVar19 < 0x15f;
              dVar3 = _DAT_001faf38 * dVar4;
            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);
            dVar3 = dVar4 * (double)_DAT_001fae18;
          }
          if ((dVar3 <= dVar41) && (bVar40)) {
            do {
              dVar4 = dVar3;
              uVar19 = (int)uVar37 + 10;
              uVar37 = (ulong)uVar19;
              bVar40 = (int)uVar19 < 0x15f;
              dVar3 = dVar4 * (double)_DAT_001fae18;
            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);
          }
          dVar3 = (double)_DAT_001fae10;
          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {
            do {
              dVar4 = dVar6;
              uVar19 = (int)uVar37 + 1;
              uVar37 = (ulong)uVar19;
              dVar6 = dVar4 * dVar3;
            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);
          }
          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;
              dVar41 = dVar41 * (double)_DAT_001fae1c) {
            uVar37 = (ulong)((int)uVar37 - 8);
          }
          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {
            uVar37 = (ulong)((int)uVar37 - 1);
          }
          if (0x15e < (int)uVar37) {
            pbVar38 = local_88;
            pbVar13 = pbVar38 + (bVar7 != 0);
            local_88[0] = bVar7;
            pbVar13[0] = 0x49;
            pbVar13[1] = 0x6e;
            pbVar13[2] = 0x66;
            pbVar13[3] = 0;
            if (bVar7 == 0) {
              pbVar24 = (byte *)(ulong)(uVar12 - 3);
              uVar37 = 3;
              local_e0 = (byte *)0x0;
            }
            else {
              pbVar24 = (byte *)(ulong)(uVar12 - 4);
              uVar37 = 4;
              local_e0 = (byte *)0x0;
            }
            goto LAB_0013f018;
          }
        }
        local_c8 = (int)uVar37;
        local_b5 = bVar25;
        if (cVar33 == '\x01') {
          iVar9 = 0;
          if (-1 < local_c8) {
            iVar9 = local_c8;
          }
          lVar23 = (long)iVar9;
        }
        else {
          dVar41 = dVar42 + dVar41;
          if ((double)_DAT_001fae10 <= dVar41) {
            dVar41 = dVar41 * DAT_001faf40;
            uVar37 = (ulong)(local_c8 + 1);
          }
          local_c8 = (int)uVar37;
          if (cVar33 == '\x03') {
            local_b5 = bVar35 ^ 1;
            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {
              lVar23 = 0;
              cVar33 = '\x02';
              local_c8 = 0;
            }
            else {
              uVar10 = uVar10 - local_c8;
              iVar9 = 0;
              if (-1 < local_c8) {
                iVar9 = local_c8;
              }
              cVar33 = '\x01';
              lVar23 = (long)iVar9;
            }
          }
          else if (cVar33 == '\x02') {
            lVar23 = 0;
            local_c8 = 0;
          }
          else {
            cVar33 = '\x01';
            iVar9 = 0;
            if (-1 < local_c8) {
              iVar9 = local_c8;
            }
            lVar23 = (long)iVar9;
          }
        }
        lVar27 = (long)(int)uVar12;
        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {
          local_e0 = (byte *)0x0;
          pbVar38 = local_88;
        }
        else {
          pbVar38 = (byte *)FUN_0011bc10(param_1);
          local_e0 = pbVar38;
          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;
        }
        iVar9 = (uint)bVar25 * 10 + 0x10;
        bVar40 = 0 < (int)uVar10;
        pbVar17 = pbVar38;
        pbVar13 = pbVar38 + 1;
        if (bVar7 != 0) {
          *pbVar38 = bVar7;
          pbVar13 = pbVar38 + 2;
          pbVar17 = pbVar38 + 1;
        }
        if (local_c8 < 0) {
          *pbVar17 = 0x30;
          uVar19 = local_c8 + 1;
          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {
            pbVar17 = pbVar13 + 1;
            *pbVar13 = 0x2e;
            pbVar13 = pbVar17;
            if (uVar19 == 0) goto LAB_0013edc4;
LAB_0013ed90:
            pbVar17 = pbVar13;
            do {
              pbVar14 = pbVar17 + 1;
              *pbVar17 = 0x30;
              pbVar17 = pbVar14;
            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);
            uVar10 = (uVar10 - 1) + local_c8 + 2;
            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;
LAB_0013edc4:
            if (0 < (int)uVar10) {
              pbVar17 = pbVar13;
              do {
                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {
                  iVar9 = iVar9 + -1;
                  local_c8._0_1_ = (char)(int)ROUND(dVar41);
                  *pbVar17 = (char)local_c8 + 0x30;
                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;
                  pbVar17 = pbVar14;
                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;
                }
                *pbVar17 = 0x30;
                pbVar17 = pbVar14;
              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);
LAB_0013ee39:
              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;
            }
            goto LAB_0013ee42;
          }
          if (uVar19 != 0) goto LAB_0013ed90;
        }
        else {
          pbVar13 = pbVar17 + (long)local_c8 + 1;
          do {
            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {
              iVar9 = iVar9 + -1;
              local_c8._0_1_ = (char)(int)ROUND(dVar41);
              *pbVar14 = (char)local_c8 + 0x30;
              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;
              if (pbVar17 == pbVar13) goto LAB_0013fe8d;
            }
            *pbVar14 = 0x30;
          } while (pbVar17 != pbVar13);
LAB_0013fe8d:
          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {
            pbVar13 = pbVar14 + 2;
            *pbVar17 = 0x2e;
            goto LAB_0013edc4;
          }
LAB_0013ee42:
          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {
            while (pbVar13[-1] == 0x30) {
              pbVar13 = pbVar13 + -1;
              *pbVar13 = 0;
            }
            if (pbVar13[-1] == 0x2e) {
              if (bVar25 == 0) {
                pbVar13[-1] = 0;
                pbVar13 = pbVar13 + -1;
              }
              else {
                *pbVar13 = 0x30;
                pbVar13 = pbVar13 + 1;
              }
            }
          }
        }
        if (cVar33 == '\x02') {
          pbVar17 = pbVar13 + 2;
          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];
          bVar25 = 0x2b;
          if ((int)uVar37 < 0) {
            uVar37 = (ulong)(uint)-(int)uVar37;
            bVar25 = 0x2d;
          }
          pbVar13[1] = bVar25;
          if (99 < (int)uVar37) {
            pbVar17 = pbVar13 + 3;
            pbVar13[2] = (char)(uVar37 / 100) + 0x30;
            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);
          }
          pbVar13 = pbVar17 + 2;
          cVar18 = (char)(uVar37 / 10);
          *pbVar17 = cVar18 + 0x30;
          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;
        }
        *pbVar13 = 0;
        iVar9 = (int)((long)pbVar13 - (long)pbVar38);
        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;
        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {
          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);
          goto LAB_0013f018;
        }
        if (iVar9 < (int)uVar12) {
          iVar9 = uVar12 - iVar9;
          if (iVar9 <= (int)uVar12) {
            do {
              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];
              lVar27 = lVar27 + -1;
            } while (iVar9 <= (int)lVar27);
          }
          pbVar13 = pbVar38 + (bVar7 != 0);
          do {
            *pbVar13 = 0x30;
            pbVar13 = pbVar13 + 1;
            uVar37 = (ulong)pbVar24;
          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);
        }
        goto LAB_0013fd63;
      case '\x04':
        if (local_b6 != 0) {
LAB_0013f287:
          FUN_0013e580(param_1,pbVar38,0);
          break;
        }
        uVar11 = *(undefined4 *)(param_1 + 3);
        uVar10 = *param_3;
        if (uVar10 < 0x30) {
          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));
          *param_3 = uVar10 + 8;
        }
        else {
          puVar26 = *(undefined8 **)(param_3 + 2);
          *(undefined8 **)(param_3 + 2) = puVar26 + 1;
        }
        *(undefined4 *)*puVar26 = uVar11;
        FUN_0013e580(param_1,pbVar38,0);
        bVar7 = param_2[1];
        goto joined_r0x0013ebb8;
      case '\x05':
      case '\x06':
        if (local_b6 == 0) {
          uVar19 = *param_3;
          if (uVar19 < 0x30) {
            *param_3 = uVar19 + 8;
            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));
          }
          else {
            puVar26 = *(undefined8 **)(param_3 + 2);
            *(undefined8 **)(param_3 + 2) = puVar26 + 1;
            pbVar38 = (byte *)*puVar26;
          }
          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;
          if (cVar33 != '\x06') goto LAB_0013f840;
          local_e0 = pbVar38;
          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||
             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;
          if (*(char *)((long)param_1 + 0x1c) == '\0') {
            param_1[1] = pbVar38;
            uVar11 = (*DAT_0021f288)(pbVar38);
            *(undefined4 *)(param_1 + 2) = uVar11;
            sVar15 = strlen((char *)pbVar38);
            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;
            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;
            FUN_0013e580(param_1,pbVar38,0);
            break;
          }
LAB_0013fbb4:
          sVar15 = strlen((char *)pbVar38);
          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);
          goto LAB_0013fa12;
        }
        pbVar38 = (byte *)FUN_001408d0(local_d8);
        if (pbVar38 == (byte *)0x0) {
LAB_0013fb9a:
          local_e0 = (byte *)0x0;
          pbVar38 = &DAT_001e836f;
        }
        else {
LAB_0013f840:
          local_e0 = (byte *)0x0;
        }
joined_r0x0013fbae:
        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;
        pbVar13 = pbVar38;
        if (bVar25 != 0) {
          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))
          {
            pbVar13 = pbVar17 + 1;
            if (0xbf < *pbVar17) {
              bVar7 = pbVar17[1];
              while ((bVar7 & 0xc0) == 0x80) {
                pbVar13 = pbVar13 + 1;
                bVar7 = *pbVar13;
              }
            }
          }
          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);
          bVar25 = 1;
          goto LAB_0013fa12;
        }
        if ((uVar10 == 0) || (*pbVar38 == 0)) {
          uVar37 = 0;
          goto LAB_0013f018;
        }
        uVar28 = 1;
        do {
          uVar37 = uVar28 & 0xffffffff;
          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;
          pbVar13 = pbVar38 + uVar28;
          uVar28 = uVar28 + 1;
        } while (*pbVar13 != 0);
        goto LAB_0013eff2;
      case '\a':
        local_88[0] = 0x25;
        pbVar24 = (byte *)(ulong)(uVar12 - 1);
        pbVar38 = local_88;
        uVar37 = 1;
        local_e0 = (byte *)0x0;
        goto LAB_0013f018;
      case '\b':
        if (local_b6 == 0) {
          uVar19 = *param_3;
          if (uVar19 < 0x30) {
            *param_3 = uVar19 + 8;
            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));
          }
          else {
            puVar32 = *(uint **)(param_3 + 2);
            *(uint **)(param_3 + 2) = puVar32 + 2;
            uVar19 = *puVar32;
          }
          if (0x7f < uVar19) {
            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;
            bVar7 = (byte)(uVar19 >> 6);
            if (uVar19 < 0x800) {
              local_88[1] = cVar18;
              uVar37 = 2;
              local_88[0] = bVar7 - 0x40;
            }
            else {
              local_88[2] = (bVar7 & 0x3f) + 0x80;
              bVar7 = (byte)(uVar19 >> 0xc);
              if (uVar19 < 0x10000) {
                local_88[1] = local_88[2];
                uVar37 = 3;
                local_88[0] = bVar7 - 0x20;
                local_88[2] = cVar18;
              }
              else {
                uVar37 = 4;
                local_88[3] = cVar18;
                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;
                local_88[1] = (bVar7 & 0x3f) + 0x80;
              }
            }
            goto LAB_0013fa75;
          }
          local_88[0] = (byte)uVar19;
          uVar37 = 1;
          uVar19 = 1;
        }
        else {
          pbVar38 = (byte *)FUN_001408d0(local_d8);
          if (pbVar38 == (byte *)0x0) {
            local_88[0] = 0;
          }
          else {
            local_88[0] = *pbVar38;
            if ((*pbVar38 & 0xc0) == 0xc0) {
              uVar28 = 1;
              do {
                uVar37 = uVar28 & 0xffffffff;
                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;
                local_88[uVar28] = pbVar38[uVar28];
                uVar28 = uVar28 + 1;
              } while (uVar28 != 4);
              uVar37 = 4;
              goto LAB_0013fa75;
            }
          }
          uVar37 = 1;
LAB_0013fa75:
          uVar19 = (uint)uVar37;
        }
        if (1 < (int)uVar10) {
          iVar9 = uVar10 - 1;
          uVar12 = uVar12 - iVar9;
          if (((int)uVar12 < 2) || (bVar5)) {
            local_e0 = (byte *)(ulong)uVar12;
          }
          else {
            FUN_0013e4b0(param_1,uVar12 - 1,0x20);
            local_e0 = (byte *)0x0;
          }
          do {
            FUN_0013e580(param_1,local_88,uVar19);
            iVar9 = iVar9 + -1;
          } while (iVar9 != 0);
          uVar37 = (ulong)uVar19;
          pbVar24 = local_e0;
          uVar12 = (uint)local_e0;
        }
        if (0 < (int)uVar12) {
          pbVar38 = local_88;
          local_e0 = (byte *)0x0;
          iVar9 = (int)uVar37 + -1;
          goto LAB_0013efc6;
        }
        pbVar38 = local_88;
        FUN_0013e580(param_1,pbVar38,uVar37);
        break;
      case '\t':
      case '\n':
      case '\x0e':
        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;
        if (local_b6 == 0) {
          uVar19 = *param_3;
          if (uVar19 < 0x30) {
            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));
            *param_3 = uVar19 + 8;
          }
          else {
            puVar26 = *(undefined8 **)(param_3 + 2);
            *(undefined8 **)(param_3 + 2) = puVar26 + 1;
          }
          local_e0 = (byte *)*puVar26;
          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;
LAB_0013f8df:
          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))
          goto LAB_0013f8fa;
          if (cVar33 != '\n') {
            pbVar17 = local_88;
            uVar37 = 0;
            local_e0 = (byte *)0x0;
            pbVar38 = pbVar17;
            goto LAB_0013fa0c;
          }
          pbVar38 = local_88;
          local_88[0] = bVar7;
          lVar30 = 2;
          uVar37 = 2;
          local_e0 = (byte *)0x0;
          pbVar17 = local_88 + 1;
LAB_0013fa06:
          *pbVar17 = bVar7;
          pbVar17 = pbVar38 + lVar30;
        }
        else {
          local_e0 = (byte *)FUN_001408d0(local_d8);
          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;
LAB_0013eec9:
          pbVar13 = (byte *)0x1e846d;
          if (cVar33 != '\n') {
            pbVar13 = &DAT_001e9900;
          }
          if (uVar10 == 0) {
            pbVar17 = local_88;
            uVar37 = 0;
            pbVar38 = pbVar17;
          }
          else {
            bVar35 = *pbVar13;
LAB_0013f8fa:
            iVar29 = 0;
            iVar9 = 0;
            do {
              iVar31 = iVar9;
              if (bVar7 == bVar35) {
                iVar29 = iVar29 + 1;
              }
              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&
                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {
                lVar30 = (long)(iVar9 + 1);
                do {
                  lVar23 = lVar30 + 1;
                  iVar31 = (int)lVar30;
                  lVar30 = lVar30 + 1;
                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);
              }
              iVar9 = iVar31 + 1;
              if (uVar10 == 1) break;
              uVar10 = uVar10 - 1;
              bVar35 = pbVar13[iVar9];
            } while (bVar35 != 0);
            bVar40 = local_e0 != (byte *)0x0;
            bVar39 = bVar40 && cVar33 == '\n';
            if (iVar31 + 4 + iVar29 < 0x47) {
              local_e0 = (byte *)0x0;
              pbVar38 = local_88;
            }
            else {
              pbVar38 = (byte *)FUN_0011bc10(param_1);
              local_e0 = pbVar38;
              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;
            }
            if (bVar39) {
              *pbVar38 = bVar7;
            }
            uVar37 = (ulong)bVar39;
            lVar30 = 0;
            do {
              while( true ) {
                bVar35 = pbVar13[lVar30];
                iVar29 = (int)uVar37;
                uVar37 = (ulong)(iVar29 + 1U);
                pbVar38[iVar29] = bVar35;
                pbVar17 = pbVar38 + (int)(iVar29 + 1U);
                if (bVar7 != bVar35) break;
                uVar37 = (ulong)(iVar29 + 2U);
                *pbVar17 = bVar7;
                lVar30 = lVar30 + 1;
                pbVar17 = pbVar38 + (int)(iVar29 + 2U);
                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;
              }
              lVar30 = lVar30 + 1;
            } while ((int)lVar30 < iVar9);
LAB_0013f9fa:
            if (bVar40 && cVar33 == '\n') {
              uVar10 = (int)uVar37 + 1;
              uVar37 = (ulong)uVar10;
              lVar30 = (long)(int)uVar10;
              goto LAB_0013fa06;
            }
          }
        }
LAB_0013fa0c:
        *pbVar17 = 0;
LAB_0013fa12:
        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {
LAB_0013efc6:
          lVar30 = (long)iVar9;
          do {
            pbVar13 = pbVar38 + lVar30;
            lVar30 = lVar30 + -1;
            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);
            pbVar24 = (byte *)(ulong)uVar12;
          } while (-1 < (int)lVar30);
        }
LAB_0013eff2:
        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);
        goto LAB_0013f018;
      case '\v':
        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;
        uVar10 = *param_3;
        if (uVar10 < 0x30) {
          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));
          *param_3 = uVar10 + 8;
        }
        else {
          plVar16 = *(long **)(param_3 + 2);
          *(long **)(param_3 + 2) = plVar16 + 1;
        }
        puVar26 = (undefined8 *)*plVar16;
        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;
        FUN_0013e580(param_1,*puVar26);
        FUN_0013e580(param_1,pbVar38,0);
        break;
      case '\f':
        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;
        uVar10 = *param_3;
        if (uVar10 < 0x30) {
          uVar12 = uVar10 + 8;
          *param_3 = uVar12;
          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);
          if (0x2f < uVar12) {
            plVar16 = *(long **)(param_3 + 2);
            goto LAB_0013f46b;
          }
          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);
          *param_3 = uVar10 + 0x10;
        }
        else {
          plVar2 = *(long **)(param_3 + 2);
          plVar16 = plVar2 + 1;
          *(long **)(param_3 + 2) = plVar16;
          lVar30 = *plVar2;
LAB_0013f46b:
          *(long **)(param_3 + 2) = plVar16 + 1;
        }
        lVar23 = *plVar16;
        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {
          FUN_0013e5b0(param_1);
          FUN_0013e580(param_1,&DAT_001eaed8,1);
        }
        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));
        FUN_0013e580(param_1,pbVar38,0);
        break;
      case '\r':
        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;
        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {
          if (local_b6 != 0) goto LAB_0013f695;
          uVar19 = *param_3;
          bVar36 = 0;
          goto LAB_0013f48c;
        }
        bVar36 = 0;
        if (local_b6 == 0) {
          uVar19 = *param_3;
          goto LAB_0013f15e;
        }
        goto LAB_0013f4cf;
      default:
        goto switchD_0013ea21_caseD_11;
      }
      bVar7 = param_2[1];
joined_r0x0013ebb8:
      param_2 = param_2 + 1;
    } while (bVar7 != 0);
  }
switchD_0013ea21_caseD_11:
  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}


PUSH R15
MOV RAX,RDI
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
MOV RBP,RSI
PUSH RBX
SUB RSP,0xc8
MOVZX EAX,byte ptr [RAX + 0x1d]
MOV qword ptr [RSP + 0x8],RDI
MOV RDI,RDX
MOV RCX,qword ptr FS:[0x28]
MOV qword ptr [RSP + 0xb8],RCX
XOR ECX,ECX
MOV byte ptr [RSP + 0x4],AL
AND EAX,0x2
MOV qword ptr [RSP + 0x20],0x0
MOV byte ptr [RSP + 0x42],AL
JZ 0x0013e81f
MOV EAX,dword ptr [RDX]
CMP EAX,0x2f
JA 0x0013f4be
MOV EDX,EAX
ADD EAX,0x8
ADD RDX,qword ptr [RDI + 0x10]
MOV dword ptr [RDI],EAX
MOV RAX,qword ptr [RDX]
MOV byte ptr [RSP + 0x42],0x1
MOV qword ptr [RSP + 0x20],RAX
MOVSX EAX,byte ptr [RBP]
TEST EAX,EAX
JZ 0x0013ebc0
XOR R8D,R8D
LEA R15,[0x1ed70c]
MOV R13,RDI
MOV R14,R8
NOP dword ptr [RAX + RAX*0x1]
CMP EAX,0x25
JZ 0x0013e877
MOV ESI,0x25
MOV RDI,RBP
CALL 0x0010a0f0
MOV RDI,qword ptr [RSP + 0x8]
MOV RSI,RBP
MOV RDX,RAX
MOV RBX,RAX
SUB RDX,RBP
CALL 0x0013e580
CMP byte ptr [RBX],0x0
JZ 0x0013ebc0
MOV R14,RBP
MOV RBP,RBX
MOVSX EAX,byte ptr [RBP + 0x1]
LEA RBX,[RBP + 0x1]
TEST EAX,EAX
JZ 0x0013ffde
MOV byte ptr [RSP + 0x10],0x0
MOV R12D,0xffffffff
XOR R11D,R11D
XOR ECX,ECX
MOV byte ptr [RSP + 0x4],0x0
XOR R10D,R10D
XOR EDX,EDX
XOR R8D,R8D
MOV EBP,R12D
NOP word ptr [RAX + RAX*0x1]
LEA ESI,[RAX + -0x20]
CMP ESI,0x4c
JA 0x0013e8dc
MOVSXD RSI,dword ptr [R15 + RSI*0x4]
ADD RSI,R15
JMP RSI
MOV byte ptr [RSP + 0x4],0x1
MOVSX EAX,byte ptr [RBX + 0x1]
ADD RBX,0x1
NOP dword ptr [RAX]
TEST EAX,EAX
JNZ 0x0013e8b0
XOR EDI,EDI
JMP 0x0013e9c2
MOVSX EAX,byte ptr [RBX + 0x1]
MOV EDX,0x2b
ADD RBX,0x1
JMP 0x0013e8d8
MOVSX EAX,byte ptr [RBX + 0x1]
MOV R11D,0x2c
ADD RBX,0x1
JMP 0x0013e8d8
CMP byte ptr [RSP + 0x42],0x0
JNZ 0x0013f330
MOV EAX,dword ptr [R13]
CMP EAX,0x2f
JA 0x0013f300
MOV ESI,EAX
ADD EAX,0x8
ADD RSI,qword ptr [R13 + 0x10]
MOV dword ptr [R13],EAX
MOV R8D,dword ptr [RSI]
TEST R8D,R8D
JS 0x0013f2e0
MOVSX EAX,byte ptr [RBX + 0x1]
ADD RBX,0x1
CMP EAX,0x6c
JZ 0x0013e8d8
CMP EAX,0x2e
JZ 0x0013e8d8
XOR EDI,EDI
JMP 0x0013e9c2
MOVSX EAX,byte ptr [RBX + 0x1]
MOV R10D,0x1
ADD RBX,0x1
JMP 0x0013e8d8
MOVSX EAX,byte ptr [RBX + 0x1]
MOV ECX,0x1
ADD RBX,0x1
JMP 0x0013e8d8
MOVSX EAX,byte ptr [RBX + 0x1]
MOV EDX,0x20
ADD RBX,0x1
JMP 0x0013e8d8
MOVSX EAX,byte ptr [RBX + 0x1]
CMP EAX,0x6c
JNZ 0x0013f318
MOVSX EAX,byte ptr [RBX + 0x2]
MOV EDI,0x2
ADD RBX,0x2
LEA R9,[0x1f5566]
MOV ESI,0x64
XOR EBP,EBP
JMP 0x0013e9ec
ADD EBP,0x1
CMP EBP,0x17
JZ 0x0013ebc0
MOVSX ESI,byte ptr [R9]
ADD R9,0x6
CMP ESI,EAX
JNZ 0x0013e9d8
MOVSXD RBP,EBP
LEA RSI,[0x1f5560]
LEA RAX,[RBP + RBP*0x2]
MOVZX R9D,byte ptr [RSI + RAX*0x2 + 0x3]
CMP R9B,0x10
JA 0x0013ebc0
LEA RSI,[0x1ed840]
MOVZX EAX,R9B
MOVSXD RAX,dword ptr [RSI + RAX*0x4]
ADD RAX,RSI
JMP RAX
MOVSX ESI,byte ptr [RBX + 0x1]
LEA R8D,[RAX + -0x30]
LEA R9,[RBX + 0x1]
MOV EDI,R8D
LEA EAX,[RSI + -0x30]
CMP EAX,0x9
JBE 0x0013ea4b
JMP 0x0013f44c
MOV R9,RBX
LEA EAX,[RDI + RDI*0x4]
LEA RBX,[R9 + 0x1]
LEA EDI,[RSI + RAX*0x2 + -0x30]
MOVSX ESI,byte ptr [R9 + 0x1]
LEA EAX,[RSI + -0x30]
CMP EAX,0x9
JBE 0x0013ea48
AND EDI,0x7fffffff
MOV EAX,ESI
MOV R8D,EDI
CMP ESI,0x2e
JZ 0x0013ea7c
CMP ESI,0x6c
JNZ 0x0013e8dc
LEA RBX,[R9 + 0x1]
MOVSX EAX,byte ptr [R9 + 0x1]
JMP 0x0013e8d8
MOVSX EAX,byte ptr [RBX + 0x1]
MOV byte ptr [RSP + 0x10],0x1
ADD RBX,0x1
JMP 0x0013e8d8
MOVSX EAX,byte ptr [RBX + 0x1]
CMP EAX,0x2a
JNZ 0x0013f2a0
CMP byte ptr [RSP + 0x42],0x0
JNZ 0x0013f3c0
MOV EAX,dword ptr [R13]
CMP EAX,0x2f
JA 0x0013f3a8
MOV ESI,EAX
ADD EAX,0x8
ADD RSI,qword ptr [R13 + 0x10]
MOV dword ptr [R13],EAX
MOV R12D,dword ptr [RSI]
TEST R12D,R12D
JNS 0x0013eaf4
MOV EAX,R12D
NEG EAX
CMP R12D,0x80000000
CMOVZ EAX,EBP
MOV R12D,EAX
MOVSX EAX,byte ptr [RBX + 0x2]
ADD RBX,0x2
CMP EAX,0x6c
JNZ 0x0013e8dc
MOVSX EAX,byte ptr [RBX]
JMP 0x0013e8d8
XOR R11D,R11D
LEA RAX,[RBP + RBP*0x2]
LEA RCX,[0x1f5560]
TEST byte ptr [RCX + RAX*0x2 + 0x2],0x1
JZ 0x0013f415
CMP byte ptr [RSP + 0x42],0x0
JNZ 0x0013f4cf
MOV EAX,dword ptr [R13]
TEST DIL,DIL
JNZ 0x0013f15e
CMP EAX,0x2f
JA 0x0013fc6f
MOV ECX,EAX
ADD EAX,0x8
ADD RCX,qword ptr [R13 + 0x10]
MOV dword ptr [R13],EAX
MOVSXD R14,dword ptr [RCX]
TEST R14,R14
JNS 0x0013f519
NEG R14
MOV byte ptr [RSP + 0x30],0x2d
JMP 0x0013f529
CMP byte ptr [RSP + 0x42],0x0
JNZ 0x0013f287
MOV RAX,qword ptr [RSP + 0x8]
MOV ECX,dword ptr [RAX + 0x18]
MOV EAX,dword ptr [R13]
CMP EAX,0x2f
JBE 0x0013fc80
MOV RDX,qword ptr [R13 + 0x8]
LEA RAX,[RDX + 0x8]
MOV qword ptr [R13 + 0x8],RAX
MOV RAX,qword ptr [RDX]
MOV RDI,qword ptr [RSP + 0x8]
XOR EDX,EDX
MOV RSI,R14
LEA RBP,[RBX + 0x1]
MOV dword ptr [RAX],ECX
CALL 0x0013e580
MOVSX EAX,byte ptr [RBX + 0x1]
TEST EAX,EAX
JNZ 0x0013e840
NOP
MOV RAX,qword ptr [RSP + 0xb8]
XOR RAX,qword ptr FS:[0x28]
JNZ 0x0014038b
ADD RSP,0xc8
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
CMP byte ptr [RSP + 0x42],0x0
JNZ 0x0013fa9d
MOV EAX,dword ptr [R13 + 0x4]
CMP EAX,0xaf
JBE 0x0013fb6e
MOV RSI,qword ptr [R13 + 0x8]
LEA RAX,[RSI + 0x8]
MOV qword ptr [R13 + 0x8],RAX
FLD qword ptr [RSI]
CMP R12D,-0x1
JNZ 0x0013fb0a
FLDZ
MOV EAX,0x1
MOV R12D,0x6
FCOMIP ST0,ST1
JBE 0x0013fb1a
FCHS
MOV byte ptr [RSP + 0x34],0x2d
CMP R9B,0x3
JZ 0x0013fb28
MOV EAX,R12D
AND EAX,0xfff
JNZ 0x0013fb4a
MOVSD XMM0,qword ptr [0x001fae78]
CMP R9B,0x1
JNZ 0x0013ec69
MOVSD qword ptr [RSP + 0x18],XMM0
FLD qword ptr [RSP + 0x18]
FADDP
FST qword ptr [RSP + 0x68]
MOVSD XMM1,qword ptr [RSP + 0x68]
UCOMISD XMM1,XMM1
JP 0x001401d6
FLDZ
FXCH
XOR R11D,R11D
FCOMI ST0,ST1
FSTP ST1
JA 0x0013fd88
CMP R9B,0x1
JZ 0x0013feff
MOVSD qword ptr [RSP + 0x18],XMM0
FLD qword ptr [RSP + 0x18]
FADDP
FLD dword ptr [0x001fae10]
FXCH
FCOMI ST0,ST1
FSTP ST1
JC 0x0013ecbc
FMUL qword ptr [0x001faf40]
ADD R11D,0x1
CMP R9B,0x3
JNZ 0x0013ffb2
MOV EAX,R10D
XOR EAX,0x1
MOV byte ptr [RSP + 0x43],AL
CMP R11D,-0x4
JL 0x001401ae
CMP R12D,R11D
JL 0x001401ae
SUB R12D,R11D
MOV EAX,0x0
TEST R11D,R11D
MOV dword ptr [RSP + 0x30],R11D
CMOVNS EAX,R11D
MOV R9D,0x1
CDQE
MOVSXD RDX,R12D
ADD RAX,RDX
MOVSXD RDX,R8D
LEA RSI,[RAX + RDX*0x1 + 0xf]
MOV qword ptr [RSP + 0x38],RDX
CMP RSI,0x46
JG 0x0013fea4
MOV qword ptr [RSP + 0x18],0x0
LEA R14,[RSP + 0x70]
MOVZX EDX,CL
MOVZX EDI,byte ptr [RSP + 0x34]
LEA EAX,[RDX*0x4]
ADD EAX,EDX
TEST R12D,R12D
LEA EDX,[RAX + RAX*0x1 + 0x10]
MOV EAX,R10D
SETG SIL
OR EAX,ECX
OR ESI,EAX
MOV RAX,R14
MOV byte ptr [RSP + 0x28],SIL
LEA RSI,[R14 + 0x1]
TEST DIL,DIL
JZ 0x0013ed68
MOV byte ptr [R14],DIL
MOV RAX,RSI
LEA RSI,[R14 + 0x2]
MOV EDI,dword ptr [RSP + 0x30]
TEST EDI,EDI
JNS 0x0013fe1d
CMP byte ptr [RSP + 0x28],0x0
MOV byte ptr [RAX],0x30
LEA EAX,[RDI + 0x1]
JZ 0x0013ffa2
LEA RDI,[RSI + 0x1]
MOV byte ptr [RSI],0x2e
TEST EAX,EAX
JZ 0x0013edc4
NOT EAX
LEA RSI,[RDI + RAX*0x1 + 0x1]
MOV RAX,RDI
NOP word ptr [RAX + RAX*0x1]
ADD RAX,0x1
MOV byte ptr [RAX + -0x1],0x30
CMP RAX,RSI
JNZ 0x0013eda0
MOV ESI,dword ptr [RSP + 0x30]
ADD ESI,0x2
MOV EAX,ESI
LEA R12D,[R12 + RSI*0x1 + -0x1]
NEG EAX
MOV EAX,EAX
LEA RDI,[RDI + RAX*0x1 + 0x1]
LEA EAX,[R12 + -0x1]
TEST R12D,R12D
JLE 0x00140352
MOV R10D,EAX
MOV RSI,RDI
LEA R12,[RDI + R10*0x1 + 0x1]
JMP 0x0013ee1e
FNSTCW word ptr [RSP + 0x66]
SUB EDX,0x1
MOVZX EAX,word ptr [RSP + 0x66]
OR AH,0xc
MOV word ptr [RSP + 0x64],AX
FLD ST0
FLDCW word ptr [RSP + 0x64]
FISTP dword ptr [RSP + 0x30]
FLDCW word ptr [RSP + 0x66]
FILD dword ptr [RSP + 0x30]
MOVZX EAX,byte ptr [RSP + 0x30]
ADD EAX,0x30
FSUBP
MOV byte ptr [RSI + -0x1],AL
FMUL dword ptr [0x001fae10]
CMP RSI,R12
JZ 0x0013ee37
ADD RSI,0x1
TEST EDX,EDX
JG 0x0013ede0
MOV EAX,0x30
MOV byte ptr [RSI + -0x1],AL
CMP RSI,R12
JNZ 0x0013ee1e
FSTP ST0
JMP 0x0013ee39
FSTP ST0
LEA RSI,[RDI + R10*0x1 + 0x1]
JMP 0x0013ee42
FSTP ST0
TEST byte ptr [RSP + 0x43],0x1
JZ 0x0013ee58
TEST byte ptr [RSP + 0x28],0x1
JNZ 0x0013fcc7
JMP 0x0013ee58
FSTP ST0
CMP R9B,0x2
JZ 0x0013ff1b
MOVZX EAX,byte ptr [RSP + 0x4]
MOV byte ptr [RSI],0x0
SUB RSI,R14
MOV R9D,ESI
XOR EAX,0x1
TEST byte ptr [RSP + 0x10],AL
JNZ 0x0013fd5a
SUB R8D,ESI
JMP 0x0013f018
CMP R9B,0xe
SETNZ DL
CMP byte ptr [RSP + 0x42],0x0
LEA EDX,[RDX + RDX*0x4 + 0x22]
JNZ 0x0013f89d
MOV EAX,dword ptr [R13]
CMP EAX,0x2f
JA 0x0013fbe1
MOV ESI,EAX
ADD EAX,0x8
ADD RSI,qword ptr [R13 + 0x10]
MOV dword ptr [R13],EAX
MOV RAX,qword ptr [RSI]
MOV qword ptr [RSP + 0x18],RAX
CMP qword ptr [RSP + 0x18],0x0
JNZ 0x0013f8df
CMP R9B,0xa
LEA R11,[0x1e846d]
LEA RAX,[0x1e9900]
CMOVNZ R11,RAX
TEST R12D,R12D
JZ 0x0014037b
MOVZX EDI,byte ptr [R11]
JMP 0x0013f8fa
CMP byte ptr [RSP + 0x42],0x0
JNZ 0x0013fa34
MOV EAX,dword ptr [R13]
CMP EAX,0x2f
JA 0x0013fbf2
MOV EDX,EAX
ADD EAX,0x8
ADD RDX,qword ptr [R13 + 0x10]
MOV dword ptr [R13],EAX
MOV EAX,dword ptr [RDX]
CMP EAX,0x7f
JA 0x0013fc09
MOV byte ptr [RSP + 0x70],AL
MOV R9D,0x1
LEA R14,[RSP + 0x70]
CMP R12D,0x1
JLE 0x0013fa7f
SUB R12D,0x1
SUB R8D,R12D
CMP R8D,0x1
JLE 0x0014015a
CMP byte ptr [RSP + 0x4],0x0
JNZ 0x0014015a
MOV RBP,qword ptr [RSP + 0x8]
LEA ESI,[R8 + -0x1]
MOV EDX,0x20
MOV dword ptr [RSP + 0x18],R9D
MOV RDI,RBP
CALL 0x0013e4b0
XOR R8D,R8D
MOV R9D,dword ptr [RSP + 0x18]
MOV qword ptr [RSP + 0x10],RBX
MOV dword ptr [RSP + 0x18],R8D
MOV EBX,R9D
NOP word ptr CS:[RAX + RAX*0x1]
MOV EDX,EBX
MOV RSI,R14
MOV RDI,RBP
CALL 0x0013e580
SUB R12D,0x1
JNZ 0x0013ef90
MOV R8D,dword ptr [RSP + 0x18]
MOV R9D,EBX
MOV RBX,qword ptr [RSP + 0x10]
TEST R8D,R8D
JLE 0x0013fa88
MOV qword ptr [RSP + 0x18],0x0
LEA EAX,[R9 + -0x1]
CDQE
NOP dword ptr [RAX + RAX*0x1]
MOVSX EDX,byte ptr [R14 + RAX*0x1]
AND EDX,0xc0
CMP EDX,0x80
SETZ DL
SUB RAX,0x1
MOVZX EDX,DL
ADD R8D,EDX
TEST EAX,EAX
JNS 0x0013efd0
SUB R8D,R9D
JMP 0x0013f018
MOV byte ptr [RSP + 0x70],0x25
SUB R8D,0x1
LEA R14,[RSP + 0x70]
MOV R9D,0x1
MOV qword ptr [RSP + 0x18],0x0
NOP dword ptr [RAX]
TEST R8D,R8D
JLE 0x0013fd63
CMP byte ptr [RSP + 0x4],0x0
JZ 0x0013f370
MOV RBP,qword ptr [RSP + 0x8]
MOV EDX,R9D
MOV RSI,R14
MOV dword ptr [RSP + 0x4],R8D
MOV RDI,RBP
CALL 0x0013e580
MOV R8D,dword ptr [RSP + 0x4]
MOV EDX,0x20
MOV RDI,RBP
MOV ESI,R8D
CALL 0x0013e4b0
MOV RAX,qword ptr [RSP + 0x18]
TEST RAX,RAX
JZ 0x0013f073
MOV RSI,RAX
MOV RAX,qword ptr [RSP + 0x8]
MOV RDI,qword ptr [RAX]
CALL 0x00119e90
MOVSX EAX,byte ptr [RBX + 0x1]
LEA RBP,[RBX + 0x1]
TEST EAX,EAX
JNZ 0x0013e840
JMP 0x0013ebc0
CMP byte ptr [RSP + 0x42],0x0
JNZ 0x0013f817
MOV EAX,dword ptr [R13]
CMP EAX,0x2f
JA 0x0013fb82
MOV EDX,EAX
ADD EAX,0x8
ADD RDX,qword ptr [R13 + 0x10]
MOV dword ptr [R13],EAX
MOV R14,qword ptr [RDX]
TEST R14,R14
JZ 0x0013fb9a
CMP R9B,0x6
JNZ 0x0013f840
MOV RBP,qword ptr [RSP + 0x8]
MOV EDX,dword ptr [RBP + 0x18]
TEST EDX,EDX
JNZ 0x0013fcb4
MOV EAX,dword ptr [RBP + 0x14]
TEST EAX,EAX
JZ 0x0013fcb4
TEST R8D,R8D
JNZ 0x0013fcb4
TEST R12D,R12D
JNS 0x0013fcb4
CMP byte ptr [RBP + 0x1c],0x0
JNZ 0x00140371
MOV RDI,R14
MOV qword ptr [RBP + 0x8],R14
CALL qword ptr [0x0021f288]
MOV RDI,R14
MOV dword ptr [RBP + 0x10],EAX
CALL 0x0010a120
OR byte ptr [RBP + 0x1d],0x4
XOR EDX,EDX
MOV RSI,R14
AND EAX,0x7fffffff
MOV RDI,RBP
MOV dword ptr [RBP + 0x18],EAX
CALL 0x0013e580
JMP 0x0013f073
LEA RAX,[RBP + RBP*0x2]
LEA RCX,[0x1f5560]
MOVZX R11D,byte ptr [RCX + RAX*0x2 + 0x2]
AND R11D,0x1
JZ 0x0013f478
XOR R11D,R11D
CMP byte ptr [RSP + 0x42],0x0
JNZ 0x0013f4cf
MOV EAX,dword ptr [R13]
CMP EAX,0x2f
JA 0x0013fc5e
MOV ECX,EAX
ADD EAX,0x8
ADD RCX,qword ptr [R13 + 0x10]
MOV dword ptr [R13],EAX
MOV R14,qword ptr [RCX]
TEST R14,R14
JNS 0x0013f519
MOV RAX,-0x8000000000000000
CMP R14,RAX
JNZ 0x0013eb61
MOV byte ptr [RSP + 0x30],0x2d
JMP 0x0013f529
MOV RAX,qword ptr [RSP + 0x8]
TEST byte ptr [RAX + 0x1d],0x1
JZ 0x0013ebc0
MOV EDX,dword ptr [R13]
CMP EDX,0x2f
JA 0x0013f45c
MOV RAX,qword ptr [R13 + 0x10]
LEA ECX,[RDX + 0x8]
MOV ESI,EDX
MOV dword ptr [R13],ECX
MOV RBP,qword ptr [RAX + RSI*0x1]
CMP ECX,0x2f
JA 0x00140390
ADD EDX,0x10
ADD RAX,RCX
MOV dword ptr [R13],EDX
MOVSXD R12,dword ptr [RAX]
LEA RAX,[R12*0x8]
SUB RAX,R12
SHL RAX,0x4
MOV RSI,qword ptr [RBP + RAX*0x1 + 0x10]
TEST RSI,RSI
JZ 0x0013f219
MOV RDI,qword ptr [RSP + 0x8]
CALL 0x0013e5b0
MOV RDI,qword ptr [RSP + 0x8]
MOV EDX,0x1
LEA RSI,[0x1eaed8]
CALL 0x0013e580
LEA RAX,[R12*0x8]
SUB RAX,R12
SHL RAX,0x4
MOV RSI,qword ptr [RBP + RAX*0x1 + 0x18]
MOV RBP,qword ptr [RSP + 0x8]
MOV RDI,RBP
CALL 0x0013e5b0
XOR EDX,EDX
MOV RSI,R14
MOV RDI,RBP
CALL 0x0013e580
JMP 0x0013f073
MOV RAX,qword ptr [RSP + 0x8]
TEST byte ptr [RAX + 0x1d],0x1
JZ 0x0013ebc0
MOV EAX,dword ptr [R13]
CMP EAX,0x2f
JBE 0x0013f4ac
MOV RDX,qword ptr [R13 + 0x8]
LEA RAX,[RDX + 0x8]
MOV qword ptr [R13 + 0x8],RAX
MOV RAX,qword ptr [RDX]
TEST RAX,RAX
JZ 0x0013f287
MOV EDX,dword ptr [RAX + 0x8]
TEST EDX,EDX
JNZ 0x0013fc92
MOV RDI,qword ptr [RSP + 0x8]
XOR EDX,EDX
MOV RSI,R14
CALL 0x0013e580
JMP 0x0013f073
LEA EDI,[RAX + -0x30]
ADD RBX,0x1
MOV ESI,EAX
XOR R12D,R12D
CMP EDI,0x9
JA 0x0013eafc
NOP dword ptr [RAX]
LEA EAX,[R12 + R12*0x4]
ADD RBX,0x1
LEA R12D,[RSI + RAX*0x2 + -0x30]
MOVSX ESI,byte ptr [RBX]
LEA EAX,[RSI + -0x30]
CMP EAX,0x9
JBE 0x0013f2b8
MOV EAX,ESI
AND R12D,0x7fffffff
JMP 0x0013eafc
CMP R8D,0x80000000
JZ 0x0013f408
NEG R8D
MOV byte ptr [RSP + 0x4],0x1
JMP 0x0013e941
MOV RSI,qword ptr [R13 + 0x8]
LEA RAX,[RSI + 0x8]
MOV qword ptr [R13 + 0x8],RAX
JMP 0x0013e935
ADD RBX,0x1
MOV EDI,0x1
JMP 0x0013e9c2
MOV RDI,qword ptr [RSP + 0x20]
MOV byte ptr [RSP + 0x34],R11B
MOV byte ptr [RSP + 0x28],CL
MOV byte ptr [RSP + 0x30],R10B
MOV byte ptr [RSP + 0x18],DL
CALL 0x001203a0
MOVZX EDX,byte ptr [RSP + 0x18]
MOVZX ECX,byte ptr [RSP + 0x28]
MOV R8D,EAX
MOVZX R10D,byte ptr [RSP + 0x30]
MOVZX R11D,byte ptr [RSP + 0x34]
JMP 0x0013e938
MOV RBP,qword ptr [RSP + 0x8]
MOV ESI,R8D
MOV EDX,0x20
MOV dword ptr [RSP + 0x4],R9D
MOV RDI,RBP
CALL 0x0013e4b0
MOV R9D,dword ptr [RSP + 0x4]
MOV RSI,R14
MOV RDI,RBP
MOV EDX,R9D
CALL 0x0013e580
JMP 0x0013f059
MOV RSI,qword ptr [R13 + 0x8]
LEA RAX,[RSI + 0x8]
MOV qword ptr [R13 + 0x8],RAX
JMP 0x0013eada
MOV RDI,qword ptr [RSP + 0x20]
MOV byte ptr [RSP + 0x43],R11B
MOV byte ptr [RSP + 0x34],CL
MOV byte ptr [RSP + 0x28],R10B
MOV byte ptr [RSP + 0x30],DL
MOV dword ptr [RSP + 0x18],R8D
CALL 0x001203a0
MOV R8D,dword ptr [RSP + 0x18]
MOVZX EDX,byte ptr [RSP + 0x30]
MOV R12D,EAX
MOVZX R10D,byte ptr [RSP + 0x28]
MOVZX ECX,byte ptr [RSP + 0x34]
MOVZX R11D,byte ptr [RSP + 0x43]
JMP 0x0013eadd
MOV byte ptr [RSP + 0x4],0x1
XOR R8D,R8D
JMP 0x0013e941
CMP byte ptr [RSP + 0x42],0x0
JNZ 0x0013f695
MOV EAX,dword ptr [R13]
TEST DIL,DIL
JNZ 0x0013f48c
CMP EAX,0x2f
JA 0x0013fc3c
MOV EDX,EAX
ADD EAX,0x8
ADD RDX,qword ptr [R13 + 0x10]
MOV dword ptr [R13],EAX
MOV R14D,dword ptr [RDX]
MOV byte ptr [RSP + 0x30],0x0
JMP 0x0013f51d
MOV RDI,R9
MOV EAX,ESI
MOV R9,RBX
MOV RBX,RDI
JMP 0x0013ea6e
MOV RDX,qword ptr [R13 + 0x8]
LEA RAX,[RDX + 0x8]
MOV qword ptr [R13 + 0x8],RAX
MOV RBP,qword ptr [RDX]
LEA RDX,[RAX + 0x8]
MOV qword ptr [R13 + 0x8],RDX
JMP 0x0013f1dd
MOVZX ECX,byte ptr [RSP + 0x42]
TEST CL,CL
JNZ 0x0013f695
MOV EAX,dword ptr [R13]
MOV R11D,ECX
CMP EAX,0x2f
JA 0x0013fc4d
MOV EDX,EAX
ADD EAX,0x8
ADD RDX,qword ptr [R13 + 0x10]
MOV dword ptr [R13],EAX
MOV R14,qword ptr [RDX]
MOV byte ptr [RSP + 0x30],0x0
JMP 0x0013f51d
MOV EDX,EAX
ADD EAX,0x8
ADD RDX,qword ptr [R13 + 0x10]
MOV dword ptr [R13],EAX
JMP 0x0013f274
MOV RDX,qword ptr [RDX + 0x8]
LEA RAX,[RDX + 0x8]
MOV qword ptr [RDI + 0x8],RAX
JMP 0x0013e812
MOV RDI,qword ptr [RSP + 0x20]
MOV byte ptr [RSP + 0x43],R11B
MOV byte ptr [RSP + 0x34],R10B
MOV byte ptr [RSP + 0x28],DL
MOV dword ptr [RSP + 0x30],R8D
MOV byte ptr [RSP + 0x18],R9B
CALL 0x001203a0
MOVZX R9D,byte ptr [RSP + 0x18]
MOV R8D,dword ptr [RSP + 0x30]
MOV R14,RAX
MOVZX EDX,byte ptr [RSP + 0x28]
MOVZX R10D,byte ptr [RSP + 0x34]
MOVZX R11D,byte ptr [RSP + 0x43]
TEST R14,R14
JS 0x0013f180
MOV byte ptr [RSP + 0x30],DL
TEST R14,R14
MOV EAX,0x0
CMOVZ R10D,EAX
CMP byte ptr [RSP + 0x10],0x0
JZ 0x0013f546
XOR EAX,EAX
CMP byte ptr [RSP + 0x30],0x0
MOV ECX,R8D
SETNZ AL
SUB ECX,EAX
CMP R12D,ECX
CMOVL R12D,ECX
CMP R12D,0x24
JLE 0x0013f6e0
MOVSXD RCX,R12D
ADD RCX,0xa
TEST R11B,R11B
JZ 0x0013f574
MOV EAX,R12D
MOV EDX,0x55555556
IMUL EDX
MOV EAX,R12D
SAR EAX,0x1f
SUB EDX,EAX
MOVSXD RAX,EDX
ADD RCX,RAX
MOV RDI,qword ptr [RSP + 0x8]
MOV RSI,RCX
MOV byte ptr [RSP + 0x38],R11B
MOV byte ptr [RSP + 0x43],R10B
MOV dword ptr [RSP + 0x34],R8D
MOV byte ptr [RSP + 0x28],R9B
MOV qword ptr [RSP + 0x10],RCX
CALL 0x0011bc10
TEST RAX,RAX
JZ 0x0013ebc0
MOV RCX,qword ptr [RSP + 0x10]
MOVZX R9D,byte ptr [RSP + 0x28]
MOV qword ptr [RSP + 0x18],RAX
MOV R8D,dword ptr [RSP + 0x34]
MOVZX R10D,byte ptr [RSP + 0x43]
MOVSXD RDX,ECX
MOVZX R11D,byte ptr [RSP + 0x38]
SUB RDX,0x1
LEA RSI,[RAX + RDX*0x1]
MOV RCX,RSI
CMP R9B,0xf
JZ 0x0013f704
LEA RDX,[0x1f5560]
LEA RAX,[RBP + RBP*0x2]
LEA RAX,[RDX + RAX*0x2]
LEA R9,[0x1f5600]
MOVZX EDX,byte ptr [RAX + 0x4]
MOVZX EDI,byte ptr [RAX + 0x1]
ADD R9,RDX
JMP 0x0013f603
MOV R14,RAX
MOV RAX,R14
XOR EDX,EDX
SUB RCX,0x1
DIV RDI
MOVZX EDX,byte ptr [R9 + RDX*0x1]
MOV byte ptr [RCX],DL
CMP R14,RDI
JNC 0x0013f600
MOV RAX,RSI
SUB RAX,RCX
MOV EDX,EAX
CMP R12D,EAX
JLE 0x0013fd80
LEA R14D,[R12 + -0x1]
SUB R14D,EAX
NOT R14
ADD R14,RCX
NOP word ptr [RAX + RAX*0x1]
SUB RCX,0x1
MOV byte ptr [RCX],0x30
CMP RCX,R14
JNZ 0x0013f640
MOV EDX,R12D
TEST R11B,R11B
JNZ 0x0013f780
MOVZX EAX,byte ptr [RSP + 0x30]
TEST AL,AL
JZ 0x0013f669
MOV byte ptr [R14 + -0x1],AL
SUB R14,0x1
TEST R10B,R10B
JZ 0x0013f687
LEA RAX,[RBP + RBP*0x2]
LEA RCX,[0x1f5560]
MOVZX EDX,byte ptr [RCX + RAX*0x2 + 0x5]
TEST DL,DL
JNZ 0x0013f7e6
SUB RSI,R14
MOV R9D,ESI
SUB R8D,ESI
JMP 0x0013f018
MOV RDI,qword ptr [RSP + 0x20]
MOV byte ptr [RSP + 0x43],R11B
MOV byte ptr [RSP + 0x34],R10B
MOV dword ptr [RSP + 0x28],R8D
MOV byte ptr [RSP + 0x18],R9B
CALL 0x001203a0
MOV byte ptr [RSP + 0x30],0x0
MOV R8D,dword ptr [RSP + 0x28]
MOV R14,RAX
MOVZX R9D,byte ptr [RSP + 0x18]
MOVZX R10D,byte ptr [RSP + 0x34]
MOVZX R11D,byte ptr [RSP + 0x43]
JMP 0x0013f51d
MOV EDX,0x45
LEA RAX,[RSP + 0x70]
MOV qword ptr [RSP + 0x18],0x0
LEA RSI,[RAX + RDX*0x1]
MOV RCX,RSI
CMP R9B,0xf
JNZ 0x0013f5dc
MOV RDI,-0x3333333333333333
MOV RAX,R14
MUL RDI
MOV RCX,RDX
SHR RCX,0x3
LEA RAX,[RCX + RCX*0x4]
MOV R9,RCX
MOV RCX,R14
ADD RAX,RAX
SUB RCX,RAX
CMP RCX,0x3
JA 0x0013f767
MOV RAX,R9
MUL RDI
SHR RDX,0x3
LEA RAX,[RDX + RDX*0x4]
ADD RAX,RAX
SUB R9,RAX
CMP R9,0x1
JZ 0x0013f767
ADD ECX,ECX
LEA RAX,[0x1efd10]
LEA EDX,[RCX + 0x1]
MOVSXD RCX,ECX
MOVSXD RDX,EDX
MOVZX EDX,byte ptr [RAX + RDX*0x1]
MOVZX EAX,byte ptr [RAX + RCX*0x1]
JMP 0x0013f771
MOV EAX,0x74
MOV EDX,0x68
MOV byte ptr [RSI + -0x1],DL
LEA RCX,[RSI + -0x2]
MOV byte ptr [RSI + -0x2],AL
JMP 0x0013f5dc
LEA ECX,[RDX + -0x1]
MOV EDX,0x55555556
MOV EAX,ECX
IMUL EDX
MOV EAX,ECX
SAR EAX,0x1f
SUB EDX,EAX
LEA EAX,[RDX + RDX*0x2]
SUB ECX,EAX
LEA EAX,[RCX + 0x1]
MOVSXD RCX,EDX
SUB R14,RCX
TEST EDX,EDX
JZ 0x0013f658
XOR ECX,ECX
NOP dword ptr [RAX + RAX*0x1]
LEA EDI,[RDX + RCX*0x1]
MOVSXD RDI,EDI
MOVZX R9D,byte ptr [R14 + RDI*0x1]
MOVSXD RDI,ECX
MOV byte ptr [R14 + RDI*0x1],R9B
LEA EDI,[RCX + 0x1]
SUB EAX,0x1
JNZ 0x0013f7e2
MOVSXD RDI,EDI
MOV byte ptr [R14 + RDI*0x1],R11B
LEA EDI,[RCX + 0x2]
SUB EDX,0x1
JZ 0x0013f658
MOV EAX,0x3
MOV ECX,EDI
JMP 0x0013f7b0
LEA RCX,[0x1f55ea]
MOVZX EAX,DL
MOVZX EDX,byte ptr [RCX + RDX*0x1]
ADD RAX,RCX
TEST DL,DL
JZ 0x0013f687
NOP
SUB R14,0x1
ADD RAX,0x1
MOV byte ptr [R14],DL
MOVZX EDX,byte ptr [RAX]
TEST DL,DL
JNZ 0x0013f800
JMP 0x0013f687
MOV RDI,qword ptr [RSP + 0x20]
MOV byte ptr [RSP + 0x18],CL
MOV dword ptr [RSP + 0x10],R8D
CALL 0x001408d0
MOV R8D,dword ptr [RSP + 0x10]
MOVZX ECX,byte ptr [RSP + 0x18]
TEST RAX,RAX
MOV R14,RAX
JZ 0x0013fb9a
MOV qword ptr [RSP + 0x18],0x0
CMP R12D,-0x1
JZ 0x0013fbb4
TEST CL,CL
JNZ 0x0013fdc3
TEST R12D,R12D
JZ 0x00140369
CMP byte ptr [R14],0x0
JZ 0x00140369
LEA EDX,[R12 + -0x1]
MOV EAX,0x1
ADD RDX,0x1
JMP 0x0013f890
ADD RAX,0x1
CMP byte ptr [R14 + RAX*0x1 + -0x1],0x0
JZ 0x0013eff2
MOV R9D,EAX
CMP RDX,RAX
JNZ 0x0013f880
JMP 0x0013eff2
MOV RDI,qword ptr [RSP + 0x20]
MOV byte ptr [RSP + 0x34],DL
MOV byte ptr [RSP + 0x28],CL
MOV dword ptr [RSP + 0x30],R8D
MOV byte ptr [RSP + 0x10],R9B
CALL 0x001408d0
MOVZX R9D,byte ptr [RSP + 0x10]
MOV R8D,dword ptr [RSP + 0x30]
MOVZX ECX,byte ptr [RSP + 0x28]
MOVZX EDX,byte ptr [RSP + 0x34]
MOV qword ptr [RSP + 0x18],RAX
CMP qword ptr [RSP + 0x18],0x0
JZ 0x0013eec9
TEST R12D,R12D
JZ 0x00140256
MOV R11,qword ptr [RSP + 0x18]
MOVZX EDI,byte ptr [R11]
TEST DIL,DIL
JZ 0x00140256
XOR ESI,ESI
XOR EBP,EBP
JMP 0x0013f92e
MOV EAX,EBP
TEST CL,CL
JZ 0x0013f918
AND EDI,0xc0
CMP EDI,0xc0
JZ 0x0013fcf0
LEA EBP,[RAX + 0x1]
SUB R12D,0x1
JZ 0x0013f941
MOVSXD RDI,EBP
MOVZX EDI,byte ptr [R11 + RDI*0x1]
TEST DIL,DIL
JZ 0x0013f941
CMP DL,DIL
JNZ 0x0013f900
MOV EAX,EBP
ADD ESI,0x1
LEA EBP,[RAX + 0x1]
SUB R12D,0x1
JNZ 0x0013f921
CMP qword ptr [RSP + 0x18],0x0
LEA EAX,[RAX + RSI*0x1 + 0x4]
SETNZ DIL
CMP R9B,0xa
SETZ R9B
AND EDI,R9D
MOV R12D,EDI
CMP EAX,0x46
JLE 0x0013fd47
MOV RDI,qword ptr [RSP + 0x8]
MOVSXD RSI,EAX
MOV byte ptr [RSP + 0x34],DL
MOV qword ptr [RSP + 0x28],R11
MOV byte ptr [RSP + 0x30],CL
MOV dword ptr [RSP + 0x10],R8D
CALL 0x0011bc10
MOV R14,RAX
TEST RAX,RAX
JZ 0x0013ebc0
MOV R8D,dword ptr [RSP + 0x10]
MOVZX ECX,byte ptr [RSP + 0x30]
MOV qword ptr [RSP + 0x18],RAX
MOV R11,qword ptr [RSP + 0x28]
MOVZX EDX,byte ptr [RSP + 0x34]
TEST R12B,R12B
JNZ 0x0013fd39
XOR R9D,R9D
XOR ESI,ESI
JMP 0x0013f9cb
ADD RSI,0x1
MOV R9D,R10D
CMP EBP,ESI
JLE 0x0013f9fa
MOVZX EDI,byte ptr [R11 + RSI*0x1]
MOVSXD RAX,R9D
LEA R10D,[R9 + 0x1]
MOV byte ptr [R14 + RAX*0x1],DIL
MOVSXD RAX,R10D
ADD RAX,R14
CMP DL,DIL
JNZ 0x0013f9c0
ADD R9D,0x2
MOV byte ptr [RAX],DL
ADD RSI,0x1
MOVSXD RAX,R9D
ADD RAX,R14
CMP EBP,ESI
JG 0x0013f9cb
TEST R12B,R12B
JZ 0x0013fa0c
ADD R9D,0x1
MOVSXD RSI,R9D
MOV byte ptr [RAX],DL
LEA RAX,[R14 + RSI*0x1]
MOV byte ptr [RAX],0x0
AND ECX,0x1
TEST R8D,R8D
JLE 0x0013eff2
TEST CL,CL
JZ 0x0013eff2
MOV EAX,R9D
SUB EAX,0x1
JNS 0x0013efc6
JMP 0x0013eff2
MOV RDI,qword ptr [RSP + 0x20]
MOV dword ptr [RSP + 0x10],R8D
CALL 0x001408d0
MOV R8D,dword ptr [RSP + 0x10]
TEST RAX,RAX
JZ 0x0014024c
MOVZX EDX,byte ptr [RAX]
MOV byte ptr [RSP + 0x70],DL
AND EDX,0xc0
CMP EDX,0xc0
JZ 0x00140314
MOV R9D,0x1
LEA R14,[RSP + 0x70]
CMP R12D,0x1
JG 0x0013ef3a
TEST R8D,R8D
JG 0x0013efb9
MOV RDI,qword ptr [RSP + 0x8]
MOV EDX,R9D
MOV RSI,R14
CALL 0x0013e580
JMP 0x0013f073
MOV RDI,qword ptr [RSP + 0x20]
MOVSXD RAX,dword ptr [RDI + 0x4]
CMP dword ptr [RDI],EAX
JLE 0x00140171
MOV byte ptr [RSP + 0x38],CL
LEA ESI,[RAX + 0x1]
MOV RCX,RDI
MOV RDI,qword ptr [RDI + 0x8]
MOV dword ptr [RCX + 0x4],ESI
MOV RDI,qword ptr [RDI + RAX*0x8]
MOV byte ptr [RSP + 0x43],R10B
MOV byte ptr [RSP + 0x34],DL
MOV dword ptr [RSP + 0x28],R8D
MOV byte ptr [RSP + 0x30],R9B
CALL 0x00111460
MOVZX R9D,byte ptr [RSP + 0x30]
MOV R8D,dword ptr [RSP + 0x28]
MOVSD qword ptr [RSP + 0x18],XMM0
FLD qword ptr [RSP + 0x18]
MOVZX EDX,byte ptr [RSP + 0x34]
MOVZX R10D,byte ptr [RSP + 0x43]
MOVZX ECX,byte ptr [RSP + 0x38]
CMP R12D,-0x1
JZ 0x0013ec1b
TEST R12D,R12D
FLDZ
SETG AL
FCOMIP ST0,ST1
JA 0x0013ec30
MOV byte ptr [RSP + 0x34],DL
CMP R9B,0x3
JNZ 0x0013ec41
TEST AL,AL
JZ 0x0013ec41
SUB R12D,0x1
MOVSD XMM0,qword ptr [0x001fae78]
MOV EAX,R12D
AND EAX,0xfff
JZ 0x0013ec69
MOVSD XMM0,qword ptr [0x001fae78]
MOVSD XMM1,qword ptr [0x001faf40]
NOP word ptr [RAX + RAX*0x1]
MULSD XMM0,XMM1
SUB EAX,0x1
JNZ 0x0013fb60
JMP 0x0013ec57
MOV ESI,EAX
ADD EAX,0x10
ADD RSI,qword ptr [R13 + 0x10]
MOV dword ptr [R13 + 0x4],EAX
FLD qword ptr [RSI]
JMP 0x0013ec11
MOV RDX,qword ptr [R13 + 0x8]
LEA RAX,[RDX + 0x8]
MOV qword ptr [R13 + 0x8],RAX
MOV R14,qword ptr [RDX]
TEST R14,R14
JNZ 0x0013f0b9
MOV qword ptr [RSP + 0x18],0x0
LEA R14,[0x1e836f]
CMP R12D,-0x1
JNZ 0x0013f853
MOV RDI,R14
MOV byte ptr [RSP + 0x30],CL
MOV dword ptr [RSP + 0x10],R8D
CALL 0x0010a120
MOVZX ECX,byte ptr [RSP + 0x30]
MOV R8D,dword ptr [RSP + 0x10]
MOV R9D,EAX
AND R9D,0x7fffffff
AND ECX,0x1
JMP 0x0013fa12
MOV RSI,qword ptr [R13 + 0x8]
LEA RAX,[RSI + 0x8]
MOV qword ptr [R13 + 0x8],RAX
JMP 0x0013eeb5
MOV RDX,qword ptr [R13 + 0x8]
LEA RAX,[RDX + 0x8]
MOV qword ptr [R13 + 0x8],RAX
MOV EAX,dword ptr [RDX]
CMP EAX,0x7f
JBE 0x0013ef21
MOV ECX,EAX
MOV EDX,EAX
AND ECX,0x3f
SHR EDX,0x6
ADD ECX,-0x80
CMP EAX,0x7ff
JA 0x00140178
SUB EDX,0x40
MOV byte ptr [RSP + 0x71],CL
MOV R9D,0x2
LEA R14,[RSP + 0x70]
MOV byte ptr [RSP + 0x70],DL
JMP 0x0013fa75
MOV RDX,qword ptr [R13 + 0x8]
LEA RAX,[RDX + 0x8]
MOV qword ptr [R13 + 0x8],RAX
JMP 0x0013f43f
MOV RDX,qword ptr [R13 + 0x8]
LEA RAX,[RDX + 0x8]
MOV qword ptr [R13 + 0x8],RAX
JMP 0x0013f4a2
MOV RCX,qword ptr [R13 + 0x8]
LEA RAX,[RCX + 0x8]
MOV qword ptr [R13 + 0x8],RAX
JMP 0x0013f174
MOV RCX,qword ptr [R13 + 0x8]
LEA RAX,[RCX + 0x8]
MOV qword ptr [R13 + 0x8],RAX
JMP 0x0013eb55
MOV EDX,EAX
ADD EAX,0x8
ADD RDX,qword ptr [R13 + 0x10]
MOV dword ptr [R13],EAX
JMP 0x0013eb9a
MOV RBP,qword ptr [RSP + 0x8]
MOV RSI,qword ptr [RAX]
MOV RDI,RBP
CALL 0x0013e580
XOR EDX,EDX
MOV RSI,R14
MOV RDI,RBP
CALL 0x0013e580
JMP 0x0013f073
MOV qword ptr [RSP + 0x18],R14
JMP 0x0013f849
SUB RSI,0x1
MOV byte ptr [RSI],0x0
MOVZX EAX,byte ptr [RSI + -0x1]
CMP AL,0x30
JZ 0x0013fcc0
CMP AL,0x2e
JNZ 0x0013ee58
TEST CL,CL
JZ 0x0014035c
MOV byte ptr [RSI],0x30
ADD RSI,0x1
JMP 0x0013ee58
MOVSXD RDI,EBP
MOVSX EDI,byte ptr [R11 + RDI*0x1 + 0x1]
AND EDI,0xc0
CMP EDI,0x80
JNZ 0x0013f918
LEA EDI,[RBP + 0x1]
MOVSXD RDI,EDI
NOP dword ptr [RAX]
MOVSX R10D,byte ptr [R11 + RDI*0x1 + 0x1]
MOV EAX,EDI
ADD RDI,0x1
AND R10D,0xc0
CMP R10D,0x80
JZ 0x0013fd18
JMP 0x0013f918
MOV byte ptr [R14],DL
MOV R9D,0x1
JMP 0x0013f9b6
MOV qword ptr [RSP + 0x18],0x0
LEA R14,[RSP + 0x70]
JMP 0x0013f9aa
CMP R8D,ESI
JG 0x001401f7
MOV RDI,qword ptr [RSP + 0x8]
MOV EDX,R9D
MOV RSI,R14
CALL 0x0013e580
JMP 0x0013f059
MOV R14,RCX
JMP 0x0013f64f
FLD qword ptr [0x001faf38]
FXCH
FCOMI ST0,ST1
JC 0x001402e4
FLD qword ptr [0x001faf38]
ADD R11D,0x64
CMP R11D,0x15e
SETLE AL
FMUL ST2
FXCH
FCOMI ST0,ST1
SETNC DL
TEST DL,AL
JZ 0x0013fff9
FSTP ST2
FXCH
JMP 0x0013fd98
MOV R9,R14
JMP 0x0013fdd3
MOV R9,RDX
SUB R12D,0x1
CMP R12D,-0x1
JZ 0x0013fe10
MOVZX EAX,byte ptr [R9]
TEST AL,AL
JZ 0x0013fe10
LEA RDX,[R9 + 0x1]
CMP AL,0xbf
JBE 0x0013fdd0
MOVZX EAX,byte ptr [R9 + 0x1]
AND EAX,0xffffffc0
CMP AL,0x80
JNZ 0x0013fdd0
NOP dword ptr [RAX]
ADD RDX,0x1
MOVZX EAX,byte ptr [RDX]
AND EAX,0xffffffc0
CMP AL,0x80
JZ 0x0013fe00
JMP 0x0013fdd0
SUB R9D,R14D
MOV ECX,0x1
JMP 0x0013fa12
MOVSXD RSI,dword ptr [RSP + 0x30]
FLD dword ptr [0x001fae10]
LEA RSI,[RAX + RSI*0x1 + 0x1]
JMP 0x0013fe71
FXCH
FNSTCW word ptr [RSP + 0x66]
SUB EDX,0x1
MOVZX EDI,word ptr [RSP + 0x66]
OR DI,0xc00
MOV word ptr [RSP + 0x64],DI
FLD ST0
FLDCW word ptr [RSP + 0x64]
FISTP dword ptr [RSP + 0x30]
FLDCW word ptr [RSP + 0x66]
FILD dword ptr [RSP + 0x30]
MOVZX EDI,byte ptr [RSP + 0x30]
ADD EDI,0x30
FSUBP
MOV byte ptr [RAX + -0x1],DIL
FMUL ST1
CMP RAX,RSI
JZ 0x0013fe8b
FXCH
ADD RAX,0x1
TEST EDX,EDX
JG 0x0013fe30
MOV EDI,0x30
MOV byte ptr [RAX + -0x1],DIL
CMP RAX,RSI
JNZ 0x0013fe71
FSTP ST0
JMP 0x0013fe8d
FSTP ST1
CMP byte ptr [RSP + 0x28],0x0
JZ 0x0013ee40
LEA RDI,[RAX + 0x1]
MOV byte ptr [RAX],0x2e
JMP 0x0013edc4
MOV RDI,qword ptr [RSP + 0x8]
FSTP tword ptr [RSP + 0x50]
MOV dword ptr [RSP + 0x4c],R11D
MOV byte ptr [RSP + 0x4b],CL
MOV byte ptr [RSP + 0x4a],R10B
MOV dword ptr [RSP + 0x44],R8D
MOV byte ptr [RSP + 0x28],R9B
CALL 0x0011bc10
MOV R14,RAX
TEST RAX,RAX
JZ 0x0013ebc0
MOVZX R9D,byte ptr [RSP + 0x28]
MOV R8D,dword ptr [RSP + 0x44]
MOV qword ptr [RSP + 0x18],RAX
MOVZX R10D,byte ptr [RSP + 0x4a]
MOVZX ECX,byte ptr [RSP + 0x4b]
MOV R11D,dword ptr [RSP + 0x4c]
FLD tword ptr [RSP + 0x50]
JMP 0x0013ed2a
TEST R11D,R11D
MOV EAX,0x0
MOV byte ptr [RSP + 0x43],CL
CMOVNS EAX,R11D
MOV dword ptr [RSP + 0x30],R11D
CDQE
JMP 0x0013ecff
LEA RCX,[0x1f5560]
LEA RAX,[RBP + RBP*0x2]
MOVZX EAX,byte ptr [RCX + RAX*0x2 + 0x4]
LEA R9,[0x1f5600]
LEA RCX,[RSI + 0x2]
MOVZX EAX,byte ptr [R9 + RAX*0x1]
MOV byte ptr [RSI],AL
MOV EAX,0x2b
TEST R11D,R11D
JNS 0x0013ff50
NEG R11D
MOV EAX,0x2d
MOV byte ptr [RSI + 0x1],AL
CMP R11D,0x63
JLE 0x0013ff78
MOV EAX,R11D
MOV EDX,0x51eb851f
LEA RCX,[RSI + 0x3]
MUL EDX
MOV EAX,EDX
SHR EAX,0x5
LEA EDX,[RAX + 0x30]
IMUL EAX,EAX,0x64
MOV byte ptr [RSI + 0x2],DL
SUB R11D,EAX
MOV EAX,R11D
MOV EDX,0xcccccccd
LEA RSI,[RCX + 0x2]
MUL EDX
SHR EDX,0x3
LEA EAX,[RDX + 0x30]
MOV byte ptr [RCX],AL
LEA EAX,[RDX + RDX*0x4]
ADD EAX,EAX
SUB R11D,EAX
LEA EAX,[R11 + 0x30]
MOV byte ptr [RCX + 0x1],AL
JMP 0x0013ee62
TEST EAX,EAX
JZ 0x0013ee56
MOV RDI,RSI
JMP 0x0013ed90
CMP R9B,0x2
JZ 0x001401c3
TEST R11D,R11D
MOV EAX,0x0
MOV byte ptr [RSP + 0x43],CL
MOV R9D,0x1
CMOVNS EAX,R11D
MOV dword ptr [RSP + 0x30],R11D
CDQE
JMP 0x0013ecff
MOV RDI,qword ptr [RSP + 0x8]
MOV EDX,0x1
LEA RSI,[0x1e9c91]
CALL 0x0013e580
JMP 0x0013ebc0
FSTP ST1
FLD dword ptr [0x001fae18]
FLD ST2
FMUL ST1
FXCH ST2
FCOMI ST0,ST2
JC 0x0014030b
TEST AL,AL
JNZ 0x0014002e
FSTP ST2
FSTP ST0
JMP 0x0014030f
FSTP ST3
FXCH
FXCH ST2
FXCH
FXCH ST2
FXCH
JMP 0x00140038
FSTP ST3
FXCH
FXCH ST2
NOP dword ptr [RAX]
FLD ST2
ADD R11D,0xa
FMUL ST2
FXCH
CMP R11D,0x15e
SETLE AL
FCOMI ST0,ST1
SETNC DL
TEST DL,AL
JNZ 0x00140020
FSTP ST2
FSTP ST0
FLD dword ptr [0x001fae10]
FLD ST2
FMUL ST1
FXCH ST2
FCOMI ST0,ST2
JC 0x00140302
TEST AL,AL
JNZ 0x0014008e
FSTP ST2
FXCH
JMP 0x00140306
FSTP ST3
FXCH
FXCH ST2
FXCH
FXCH ST2
FXCH
JMP 0x00140098
FSTP ST3
FXCH
FXCH ST2
NOP dword ptr [RAX]
FLD ST2
ADD R11D,0x1
FMUL ST2
FXCH
CMP R11D,0x15e
SETLE DL
FCOMI ST0,ST1
SETNC AL
TEST DL,AL
JNZ 0x00140080
FSTP ST1
FDIVRP ST2,ST0
FLD qword ptr [0x001faf48]
FLD ST0
FLD dword ptr [0x001fae1c]
FXCH
FCOMIP ST0,ST4
JBE 0x001400e2
NOP dword ptr [RAX]
FMUL ST3
SUB R11D,0x8
FLD ST1
FCOMIP ST0,ST4
JA 0x001400d0
FSTP ST0
FSTP ST0
JMP 0x001400e6
FSTP ST0
FSTP ST0
FLD1
FLD ST0
FCOMIP ST0,ST3
JBE 0x0014010c
FXCH ST2
JMP 0x001400fa
FXCH ST2
FMUL ST1
FXCH ST2
SUB R11D,0x1
FCOMI ST0,ST2
JA 0x001400f8
FSTP ST0
FSTP ST0
JMP 0x00140110
FSTP ST0
FSTP ST0
CMP R11D,0x15e
JLE 0x0013ec8e
FSTP ST0
MOVZX ECX,byte ptr [RSP + 0x34]
XOR EAX,EAX
LEA R14,[RSP + 0x70]
TEST CL,CL
MOV byte ptr [RSP + 0x70],CL
SETNZ AL
MOV dword ptr [R14 + RAX*0x1],0x666e49
JZ 0x001402b3
SUB R8D,0x4
MOV R9D,0x4
MOV qword ptr [RSP + 0x18],0x0
JMP 0x0013f018
MOV qword ptr [RSP + 0x10],RBX
MOV RBP,qword ptr [RSP + 0x8]
MOV EBX,R9D
MOV dword ptr [RSP + 0x18],R8D
JMP 0x0013ef90
FLDZ
JMP 0x0013fb00
MOV ESI,EAX
AND EDX,0x3f
SHR ESI,0xc
ADD EDX,-0x80
CMP EAX,0xffff
JA 0x00140282
SUB ESI,0x20
MOV byte ptr [RSP + 0x71],DL
LEA R14,[RSP + 0x70]
MOV R9D,0x3
MOV byte ptr [RSP + 0x70],SIL
MOV byte ptr [RSP + 0x72],CL
JMP 0x0013fa75
XOR EAX,EAX
MOV R9D,0x2
MOV dword ptr [RSP + 0x30],0x0
JMP 0x0013ecff
MOV byte ptr [RSP + 0x43],CL
XOR EAX,EAX
MOV dword ptr [RSP + 0x30],0x0
JMP 0x0013ecff
FSTP ST0
SUB R8D,0x3
MOV R9D,0x3
MOV qword ptr [RSP + 0x18],0x0
LEA R14,[0x1e98fc]
JMP 0x0013f018
MOV ECX,R8D
SUB ECX,ESI
CMP R8D,ECX
JL 0x0014021f
MOVSXD RDX,ECX
MOV RSI,R14
MOV RAX,qword ptr [RSP + 0x38]
SUB RSI,RDX
MOVZX EDX,byte ptr [RSI + RAX*0x1]
MOV byte ptr [R14 + RAX*0x1],DL
SUB RAX,0x1
CMP ECX,EAX
JLE 0x0014020f
XOR EDX,EDX
CMP byte ptr [RSP + 0x34],0x0
SETNZ DL
SUB ECX,0x1
LEA RAX,[R14 + RDX*0x1]
LEA RDX,[R14 + RDX*0x1 + 0x1]
ADD RDX,RCX
MOV byte ptr [RAX],0x30
ADD RAX,0x1
CMP RDX,RAX
JNZ 0x00140238
MOV R9D,R8D
JMP 0x0013fd63
MOV byte ptr [RSP + 0x70],0x0
JMP 0x0013fa6a
CMP R9B,0xa
JNZ 0x001402cb
LEA R14,[RSP + 0x70]
MOV byte ptr [RSP + 0x70],DL
MOV ESI,0x2
MOV R9D,0x2
MOV qword ptr [RSP + 0x18],0x0
LEA RAX,[R14 + 0x1]
JMP 0x0013fa06
SHR EAX,0x12
MOV byte ptr [RSP + 0x72],DL
LEA R14,[RSP + 0x70]
MOV R9D,0x4
AND EAX,0x7
MOV byte ptr [RSP + 0x73],CL
SUB EAX,0x10
MOV byte ptr [RSP + 0x70],AL
MOV EAX,ESI
AND EAX,0x3f
ADD EAX,-0x80
MOV byte ptr [RSP + 0x71],AL
JMP 0x0013fa75
SUB R8D,0x3
MOV R9D,0x3
MOV qword ptr [RSP + 0x18],0x0
JMP 0x0013f018
LEA R14,[RSP + 0x70]
XOR R9D,R9D
MOV qword ptr [RSP + 0x18],0x0
MOV RAX,R14
JMP 0x0013fa0c
FSTP ST1
FLD dword ptr [0x001fae18]
MOV EAX,0x1
FLD ST0
FLD1
FXCH ST3
FXCH
FXCH ST2
FXCH
JMP 0x00140007
FSTP ST2
FXCH
JMP 0x001400b7
FSTP ST2
FSTP ST0
JMP 0x00140059
MOV EDX,0x1
LEA R14,[RSP + 0x70]
MOVZX ECX,byte ptr [RAX + RDX*0x1]
MOV R9D,EDX
MOV ESI,ECX
AND ESI,0xc0
CMP ESI,0x80
JNZ 0x0013fa75
MOV byte ptr [R14 + RDX*0x1],CL
ADD RDX,0x1
CMP RDX,0x4
JNZ 0x0014031e
MOV R9D,0x4
JMP 0x0013fa75
FSTP ST0
MOV RSI,RDI
JMP 0x0013ee42
MOV byte ptr [RSI + -0x1],0x0
SUB RSI,0x1
JMP 0x0013ee58
XOR R9D,R9D
JMP 0x0013f018
MOV qword ptr [RSP + 0x18],R14
JMP 0x0013fbb4
LEA R14,[RSP + 0x70]
XOR R9D,R9D
MOV RAX,R14
JMP 0x0013fa0c
CALL 0x0010a140
MOV RAX,qword ptr [R13 + 0x8]
JMP 0x0013f46b
(translation_unit "/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nvoid FUN_0013e7b0(undefined8 *param_1,byte *param_2,uint *param_3)\n\n{\n  double *pdVar1;\n  long *plVar2;\n  double dVar3;\n  double dVar4;\n  bool bVar5;\n  double dVar6;\n  byte bVar7;\n  byte bVar8;\n  int iVar9;\n  uint uVar10;\n  undefined4 uVar11;\n  uint uVar12;\n  byte *pbVar13;\n  byte *pbVar14;\n  size_t sVar15;\n  long *plVar16;\n  byte *pbVar17;\n  char cVar18;\n  uint uVar19;\n  int iVar20;\n  int *piVar21;\n  ulong *puVar22;\n  long lVar23;\n  byte *pbVar24;\n  byte bVar25;\n  undefined8 *puVar26;\n  long lVar27;\n  ulong uVar28;\n  int iVar29;\n  long lVar30;\n  int iVar31;\n  uint *puVar32;\n  char cVar33;\n  char *pcVar34;\n  byte bVar35;\n  byte bVar36;\n  ulong uVar37;\n  byte *pbVar38;\n  long in_FS_OFFSET;\n  bool bVar39;\n  bool bVar40;\n  double dVar41;\n  double dVar42;\n  byte *local_e0;\n  int *local_d8;\n  int local_c8;\n  byte local_b6;\n  byte local_b5;\n  byte local_88 [69];\n  byte local_43 [3];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_b6 = *(byte *)((long)param_1 + 0x1d) & 2;\n  local_d8 = (int *)0x0;\n  if ((*(byte *)((long)param_1 + 0x1d) & 2) != 0) {\n    uVar10 = *param_3;\n    if (uVar10 < 0x30) {\n      puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n      *param_3 = uVar10 + 8;\n    }\n    else {\n      puVar26 = *(undefined8 **)(param_3 + 2);\n      *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n    }\n    local_d8 = (int *)*puVar26;\n    local_b6 = 1;\n  }\n  bVar7 = *param_2;\n  if (bVar7 != 0) {\n    pbVar38 = (byte *)0x0;\n    do {\n      pbVar13 = param_2;\n      if (bVar7 != 0x25) {\n        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);\n        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);\n        pbVar38 = param_2;\n        if (*pbVar13 == 0) break;\n      }\n      iVar9 = (int)(char)pbVar13[1];\n      if (pbVar13[1] == 0) {\n        FUN_0013e580(param_1,&DAT_001e9c91,1);\n        break;\n      }\n      bVar39 = false;\n      uVar10 = 0xffffffff;\n      bVar36 = 0;\n      bVar25 = 0;\n      bVar5 = false;\n      bVar35 = 0;\n      bVar7 = 0;\n      pbVar24 = (byte *)0x0;\n      pbVar13 = pbVar13 + 1;\n      do {\n        param_2 = pbVar13;\n        switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar13 = param_2;\n      } while (iVar9 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar18 = '\0';\nLAB_0013e9c2:\n      uVar12 = (uint)pbVar24;\n      pcVar34 = "s";\n      iVar29 = 0;\n      iVar31 = 100;\n      while (iVar31 != iVar9) {\n        iVar29 = iVar29 + 1;\n        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;\n        cVar33 = *pcVar34;\n        pcVar34 = pcVar34 + 6;\n        iVar31 = (int)cVar33;\n      }\n      lVar30 = (long)iVar29;\n      cVar33 = (&DAT_001f5563)[lVar30 * 6];\n      switch(cVar33) {\n      case '\0':\n      case '\x0f':\n        bVar36 = 0;\n      case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;\n      case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar7 = param_2[1];\njoined_r0x0013ebb8:\n      param_2 = param_2 + 1;\n    } while (bVar7 != 0);\n  }\nswitchD_0013ea21_caseD_11:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}\n\n" comment (function_definition "void FUN_0013e7b0(undefined8 *param_1,byte *param_2,uint *param_3)\n\n{\n  double *pdVar1;\n  long *plVar2;\n  double dVar3;\n  double dVar4;\n  bool bVar5;\n  double dVar6;\n  byte bVar7;\n  byte bVar8;\n  int iVar9;\n  uint uVar10;\n  undefined4 uVar11;\n  uint uVar12;\n  byte *pbVar13;\n  byte *pbVar14;\n  size_t sVar15;\n  long *plVar16;\n  byte *pbVar17;\n  char cVar18;\n  uint uVar19;\n  int iVar20;\n  int *piVar21;\n  ulong *puVar22;\n  long lVar23;\n  byte *pbVar24;\n  byte bVar25;\n  undefined8 *puVar26;\n  long lVar27;\n  ulong uVar28;\n  int iVar29;\n  long lVar30;\n  int iVar31;\n  uint *puVar32;\n  char cVar33;\n  char *pcVar34;\n  byte bVar35;\n  byte bVar36;\n  ulong uVar37;\n  byte *pbVar38;\n  long in_FS_OFFSET;\n  bool bVar39;\n  bool bVar40;\n  double dVar41;\n  double dVar42;\n  byte *local_e0;\n  int *local_d8;\n  int local_c8;\n  byte local_b6;\n  byte local_b5;\n  byte local_88 [69];\n  byte local_43 [3];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_b6 = *(byte *)((long)param_1 + 0x1d) & 2;\n  local_d8 = (int *)0x0;\n  if ((*(byte *)((long)param_1 + 0x1d) & 2) != 0) {\n    uVar10 = *param_3;\n    if (uVar10 < 0x30) {\n      puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n      *param_3 = uVar10 + 8;\n    }\n    else {\n      puVar26 = *(undefined8 **)(param_3 + 2);\n      *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n    }\n    local_d8 = (int *)*puVar26;\n    local_b6 = 1;\n  }\n  bVar7 = *param_2;\n  if (bVar7 != 0) {\n    pbVar38 = (byte *)0x0;\n    do {\n      pbVar13 = param_2;\n      if (bVar7 != 0x25) {\n        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);\n        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);\n        pbVar38 = param_2;\n        if (*pbVar13 == 0) break;\n      }\n      iVar9 = (int)(char)pbVar13[1];\n      if (pbVar13[1] == 0) {\n        FUN_0013e580(param_1,&DAT_001e9c91,1);\n        break;\n      }\n      bVar39 = false;\n      uVar10 = 0xffffffff;\n      bVar36 = 0;\n      bVar25 = 0;\n      bVar5 = false;\n      bVar35 = 0;\n      bVar7 = 0;\n      pbVar24 = (byte *)0x0;\n      pbVar13 = pbVar13 + 1;\n      do {\n        param_2 = pbVar13;\n        switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar13 = param_2;\n      } while (iVar9 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar18 = '\0';\nLAB_0013e9c2:\n      uVar12 = (uint)pbVar24;\n      pcVar34 = "s";\n      iVar29 = 0;\n      iVar31 = 100;\n      while (iVar31 != iVar9) {\n        iVar29 = iVar29 + 1;\n        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;\n        cVar33 = *pcVar34;\n        pcVar34 = pcVar34 + 6;\n        iVar31 = (int)cVar33;\n      }\n      lVar30 = (long)iVar29;\n      cVar33 = (&DAT_001f5563)[lVar30 * 6];\n      switch(cVar33) {\n      case '\0':\n      case '\x0f':\n        bVar36 = 0;\n      case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;\n      case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar7 = param_2[1];\njoined_r0x0013ebb8:\n      param_2 = param_2 + 1;\n    } while (bVar7 != 0);\n  }\nswitchD_0013ea21_caseD_11:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" primitive_type (function_declarator "FUN_0013e7b0(undefined8 *param_1,byte *param_2,uint *param_3)" identifier (parameter_list "(undefined8 *param_1,byte *param_2,uint *param_3)" ( (parameter_declaration "undefined8 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "byte *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  double *pdVar1;\n  long *plVar2;\n  double dVar3;\n  double dVar4;\n  bool bVar5;\n  double dVar6;\n  byte bVar7;\n  byte bVar8;\n  int iVar9;\n  uint uVar10;\n  undefined4 uVar11;\n  uint uVar12;\n  byte *pbVar13;\n  byte *pbVar14;\n  size_t sVar15;\n  long *plVar16;\n  byte *pbVar17;\n  char cVar18;\n  uint uVar19;\n  int iVar20;\n  int *piVar21;\n  ulong *puVar22;\n  long lVar23;\n  byte *pbVar24;\n  byte bVar25;\n  undefined8 *puVar26;\n  long lVar27;\n  ulong uVar28;\n  int iVar29;\n  long lVar30;\n  int iVar31;\n  uint *puVar32;\n  char cVar33;\n  char *pcVar34;\n  byte bVar35;\n  byte bVar36;\n  ulong uVar37;\n  byte *pbVar38;\n  long in_FS_OFFSET;\n  bool bVar39;\n  bool bVar40;\n  double dVar41;\n  double dVar42;\n  byte *local_e0;\n  int *local_d8;\n  int local_c8;\n  byte local_b6;\n  byte local_b5;\n  byte local_88 [69];\n  byte local_43 [3];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_b6 = *(byte *)((long)param_1 + 0x1d) & 2;\n  local_d8 = (int *)0x0;\n  if ((*(byte *)((long)param_1 + 0x1d) & 2) != 0) {\n    uVar10 = *param_3;\n    if (uVar10 < 0x30) {\n      puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n      *param_3 = uVar10 + 8;\n    }\n    else {\n      puVar26 = *(undefined8 **)(param_3 + 2);\n      *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n    }\n    local_d8 = (int *)*puVar26;\n    local_b6 = 1;\n  }\n  bVar7 = *param_2;\n  if (bVar7 != 0) {\n    pbVar38 = (byte *)0x0;\n    do {\n      pbVar13 = param_2;\n      if (bVar7 != 0x25) {\n        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);\n        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);\n        pbVar38 = param_2;\n        if (*pbVar13 == 0) break;\n      }\n      iVar9 = (int)(char)pbVar13[1];\n      if (pbVar13[1] == 0) {\n        FUN_0013e580(param_1,&DAT_001e9c91,1);\n        break;\n      }\n      bVar39 = false;\n      uVar10 = 0xffffffff;\n      bVar36 = 0;\n      bVar25 = 0;\n      bVar5 = false;\n      bVar35 = 0;\n      bVar7 = 0;\n      pbVar24 = (byte *)0x0;\n      pbVar13 = pbVar13 + 1;\n      do {\n        param_2 = pbVar13;\n        switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar13 = param_2;\n      } while (iVar9 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar18 = '\0';\nLAB_0013e9c2:\n      uVar12 = (uint)pbVar24;\n      pcVar34 = "s";\n      iVar29 = 0;\n      iVar31 = 100;\n      while (iVar31 != iVar9) {\n        iVar29 = iVar29 + 1;\n        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;\n        cVar33 = *pcVar34;\n        pcVar34 = pcVar34 + 6;\n        iVar31 = (int)cVar33;\n      }\n      lVar30 = (long)iVar29;\n      cVar33 = (&DAT_001f5563)[lVar30 * 6];\n      switch(cVar33) {\n      case '\0':\n      case '\x0f':\n        bVar36 = 0;\n      case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;\n      case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar7 = param_2[1];\njoined_r0x0013ebb8:\n      param_2 = param_2 + 1;\n    } while (bVar7 != 0);\n  }\nswitchD_0013ea21_caseD_11:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" { (declaration "double *pdVar1;" primitive_type (pointer_declarator "*pdVar1" * identifier) ;) (declaration "long *plVar2;" (sized_type_specifier "long" long) (pointer_declarator "*plVar2" * identifier) ;) (declaration "double dVar3;" primitive_type identifier ;) (declaration "double dVar4;" primitive_type identifier ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "double dVar6;" primitive_type identifier ;) (declaration "byte bVar7;" type_identifier identifier ;) (declaration "byte bVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "byte *pbVar13;" type_identifier (pointer_declarator "*pbVar13" * identifier) ;) (declaration "byte *pbVar14;" type_identifier (pointer_declarator "*pbVar14" * identifier) ;) (declaration "size_t sVar15;" primitive_type identifier ;) (declaration "long *plVar16;" (sized_type_specifier "long" long) (pointer_declarator "*plVar16" * identifier) ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "char cVar18;" primitive_type identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "ulong *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "long lVar23;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "byte bVar25;" type_identifier identifier ;) (declaration "undefined8 *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "long lVar27;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar28;" type_identifier identifier ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "long lVar30;" (sized_type_specifier "long" long) identifier ;) (declaration "int iVar31;" primitive_type identifier ;) (declaration "uint *puVar32;" type_identifier (pointer_declarator "*puVar32" * identifier) ;) (declaration "char cVar33;" primitive_type identifier ;) (declaration "char *pcVar34;" primitive_type (pointer_declarator "*pcVar34" * identifier) ;) (declaration "byte bVar35;" type_identifier identifier ;) (declaration "byte bVar36;" type_identifier identifier ;) (declaration "ulong uVar37;" type_identifier identifier ;) (declaration "byte *pbVar38;" type_identifier (pointer_declarator "*pbVar38" * identifier) ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "bool bVar39;" primitive_type identifier ;) (declaration "bool bVar40;" primitive_type identifier ;) (declaration "double dVar41;" primitive_type identifier ;) (declaration "double dVar42;" primitive_type identifier ;) (declaration "byte *local_e0;" type_identifier (pointer_declarator "*local_e0" * identifier) ;) (declaration "int *local_d8;" primitive_type (pointer_declarator "*local_d8" * identifier) ;) (declaration "int local_c8;" primitive_type identifier ;) (declaration "byte local_b6;" type_identifier identifier ;) (declaration "byte local_b5;" type_identifier identifier ;) (declaration "byte local_88 [69];" type_identifier (array_declarator "local_88 [69]" identifier [ number_literal ]) ;) (declaration "byte local_43 [3];" type_identifier (array_declarator "local_43 [3]" identifier [ number_literal ]) ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "local_b6 = *(byte *)((long)param_1 + 0x1d) & 2;" (assignment_expression "local_b6 = *(byte *)((long)param_1 + 0x1d) & 2" identifier = (binary_expression "*(byte *)((long)param_1 + 0x1d) & 2" (pointer_expression "*(byte *)((long)param_1 + 0x1d)" * (cast_expression "(byte *)((long)param_1 + 0x1d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x1d)" ( (binary_expression "(long)param_1 + 0x1d" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal)) ;) (expression_statement "local_d8 = (int *)0x0;" (assignment_expression "local_d8 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((*(byte *)((long)param_1 + 0x1d) & 2) != 0) {\n    uVar10 = *param_3;\n    if (uVar10 < 0x30) {\n      puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n      *param_3 = uVar10 + 8;\n    }\n    else {\n      puVar26 = *(undefined8 **)(param_3 + 2);\n      *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n    }\n    local_d8 = (int *)*puVar26;\n    local_b6 = 1;\n  }" if (parenthesized_expression "((*(byte *)((long)param_1 + 0x1d) & 2) != 0)" ( (binary_expression "(*(byte *)((long)param_1 + 0x1d) & 2) != 0" (parenthesized_expression "(*(byte *)((long)param_1 + 0x1d) & 2)" ( (binary_expression "*(byte *)((long)param_1 + 0x1d) & 2" (pointer_expression "*(byte *)((long)param_1 + 0x1d)" * (cast_expression "(byte *)((long)param_1 + 0x1d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x1d)" ( (binary_expression "(long)param_1 + 0x1d" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n    uVar10 = *param_3;\n    if (uVar10 < 0x30) {\n      puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n      *param_3 = uVar10 + 8;\n    }\n    else {\n      puVar26 = *(undefined8 **)(param_3 + 2);\n      *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n    }\n    local_d8 = (int *)*puVar26;\n    local_b6 = 1;\n  }" { (expression_statement "uVar10 = *param_3;" (assignment_expression "uVar10 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if (uVar10 < 0x30) {\n      puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n      *param_3 = uVar10 + 8;\n    }\n    else {\n      puVar26 = *(undefined8 **)(param_3 + 2);\n      *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n    }" if (parenthesized_expression "(uVar10 < 0x30)" ( (binary_expression "uVar10 < 0x30" identifier < number_literal) )) (compound_statement "{\n      puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n      *param_3 = uVar10 + 8;\n    }" { (expression_statement "puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));" (assignment_expression "puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4))" identifier = (cast_expression "(undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4))" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar10 + *(long *)(param_3 + 4))" ( (binary_expression "(ulong)uVar10 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier) + (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "*param_3 = uVar10 + 8;" (assignment_expression "*param_3 = uVar10 + 8" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar10 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n      puVar26 = *(undefined8 **)(param_3 + 2);\n      *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n    }" else (compound_statement "{\n      puVar26 = *(undefined8 **)(param_3 + 2);\n      *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n    }" { (expression_statement "puVar26 = *(undefined8 **)(param_3 + 2);" (assignment_expression "puVar26 = *(undefined8 **)(param_3 + 2)" identifier = (pointer_expression "*(undefined8 **)(param_3 + 2)" * (cast_expression "(undefined8 **)(param_3 + 2)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 **)(param_3 + 2) = puVar26 + 1;" (assignment_expression "*(undefined8 **)(param_3 + 2) = puVar26 + 1" (pointer_expression "*(undefined8 **)(param_3 + 2)" * (cast_expression "(undefined8 **)(param_3 + 2)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "puVar26 + 1" identifier + number_literal)) ;) }))) (expression_statement "local_d8 = (int *)*puVar26;" (assignment_expression "local_d8 = (int *)*puVar26" identifier = (cast_expression "(int *)*puVar26" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar26" * identifier))) ;) (expression_statement "local_b6 = 1;" (assignment_expression "local_b6 = 1" identifier = number_literal) ;) })) (expression_statement "bVar7 = *param_2;" (assignment_expression "bVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (if_statement "if (bVar7 != 0) {\n    pbVar38 = (byte *)0x0;\n    do {\n      pbVar13 = param_2;\n      if (bVar7 != 0x25) {\n        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);\n        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);\n        pbVar38 = param_2;\n        if (*pbVar13 == 0) break;\n      }\n      iVar9 = (int)(char)pbVar13[1];\n      if (pbVar13[1] == 0) {\n        FUN_0013e580(param_1,&DAT_001e9c91,1);\n        break;\n      }\n      bVar39 = false;\n      uVar10 = 0xffffffff;\n      bVar36 = 0;\n      bVar25 = 0;\n      bVar5 = false;\n      bVar35 = 0;\n      bVar7 = 0;\n      pbVar24 = (byte *)0x0;\n      pbVar13 = pbVar13 + 1;\n      do {\n        param_2 = pbVar13;\n        switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar13 = param_2;\n      } while (iVar9 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar18 = '\0';\nLAB_0013e9c2:\n      uVar12 = (uint)pbVar24;\n      pcVar34 = "s";\n      iVar29 = 0;\n      iVar31 = 100;\n      while (iVar31 != iVar9) {\n        iVar29 = iVar29 + 1;\n        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;\n        cVar33 = *pcVar34;\n        pcVar34 = pcVar34 + 6;\n        iVar31 = (int)cVar33;\n      }\n      lVar30 = (long)iVar29;\n      cVar33 = (&DAT_001f5563)[lVar30 * 6];\n      switch(cVar33) {\n      case '\0':\n      case '\x0f':\n        bVar36 = 0;\n      case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;\n      case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar7 = param_2[1];\njoined_r0x0013ebb8:\n      param_2 = param_2 + 1;\n    } while (bVar7 != 0);\n  }" if (parenthesized_expression "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )) (compound_statement "{\n    pbVar38 = (byte *)0x0;\n    do {\n      pbVar13 = param_2;\n      if (bVar7 != 0x25) {\n        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);\n        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);\n        pbVar38 = param_2;\n        if (*pbVar13 == 0) break;\n      }\n      iVar9 = (int)(char)pbVar13[1];\n      if (pbVar13[1] == 0) {\n        FUN_0013e580(param_1,&DAT_001e9c91,1);\n        break;\n      }\n      bVar39 = false;\n      uVar10 = 0xffffffff;\n      bVar36 = 0;\n      bVar25 = 0;\n      bVar5 = false;\n      bVar35 = 0;\n      bVar7 = 0;\n      pbVar24 = (byte *)0x0;\n      pbVar13 = pbVar13 + 1;\n      do {\n        param_2 = pbVar13;\n        switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar13 = param_2;\n      } while (iVar9 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar18 = '\0';\nLAB_0013e9c2:\n      uVar12 = (uint)pbVar24;\n      pcVar34 = "s";\n      iVar29 = 0;\n      iVar31 = 100;\n      while (iVar31 != iVar9) {\n        iVar29 = iVar29 + 1;\n        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;\n        cVar33 = *pcVar34;\n        pcVar34 = pcVar34 + 6;\n        iVar31 = (int)cVar33;\n      }\n      lVar30 = (long)iVar29;\n      cVar33 = (&DAT_001f5563)[lVar30 * 6];\n      switch(cVar33) {\n      case '\0':\n      case '\x0f':\n        bVar36 = 0;\n      case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;\n      case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar7 = param_2[1];\njoined_r0x0013ebb8:\n      param_2 = param_2 + 1;\n    } while (bVar7 != 0);\n  }" { (expression_statement "pbVar38 = (byte *)0x0;" (assignment_expression "pbVar38 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      pbVar13 = param_2;\n      if (bVar7 != 0x25) {\n        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);\n        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);\n        pbVar38 = param_2;\n        if (*pbVar13 == 0) break;\n      }\n      iVar9 = (int)(char)pbVar13[1];\n      if (pbVar13[1] == 0) {\n        FUN_0013e580(param_1,&DAT_001e9c91,1);\n        break;\n      }\n      bVar39 = false;\n      uVar10 = 0xffffffff;\n      bVar36 = 0;\n      bVar25 = 0;\n      bVar5 = false;\n      bVar35 = 0;\n      bVar7 = 0;\n      pbVar24 = (byte *)0x0;\n      pbVar13 = pbVar13 + 1;\n      do {\n        param_2 = pbVar13;\n        switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar13 = param_2;\n      } while (iVar9 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar18 = '\0';\nLAB_0013e9c2:\n      uVar12 = (uint)pbVar24;\n      pcVar34 = "s";\n      iVar29 = 0;\n      iVar31 = 100;\n      while (iVar31 != iVar9) {\n        iVar29 = iVar29 + 1;\n        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;\n        cVar33 = *pcVar34;\n        pcVar34 = pcVar34 + 6;\n        iVar31 = (int)cVar33;\n      }\n      lVar30 = (long)iVar29;\n      cVar33 = (&DAT_001f5563)[lVar30 * 6];\n      switch(cVar33) {\n      case '\0':\n      case '\x0f':\n        bVar36 = 0;\n      case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;\n      case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar7 = param_2[1];\njoined_r0x0013ebb8:\n      param_2 = param_2 + 1;\n    } while (bVar7 != 0);" do (compound_statement "{\n      pbVar13 = param_2;\n      if (bVar7 != 0x25) {\n        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);\n        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);\n        pbVar38 = param_2;\n        if (*pbVar13 == 0) break;\n      }\n      iVar9 = (int)(char)pbVar13[1];\n      if (pbVar13[1] == 0) {\n        FUN_0013e580(param_1,&DAT_001e9c91,1);\n        break;\n      }\n      bVar39 = false;\n      uVar10 = 0xffffffff;\n      bVar36 = 0;\n      bVar25 = 0;\n      bVar5 = false;\n      bVar35 = 0;\n      bVar7 = 0;\n      pbVar24 = (byte *)0x0;\n      pbVar13 = pbVar13 + 1;\n      do {\n        param_2 = pbVar13;\n        switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar13 = param_2;\n      } while (iVar9 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar18 = '\0';\nLAB_0013e9c2:\n      uVar12 = (uint)pbVar24;\n      pcVar34 = "s";\n      iVar29 = 0;\n      iVar31 = 100;\n      while (iVar31 != iVar9) {\n        iVar29 = iVar29 + 1;\n        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;\n        cVar33 = *pcVar34;\n        pcVar34 = pcVar34 + 6;\n        iVar31 = (int)cVar33;\n      }\n      lVar30 = (long)iVar29;\n      cVar33 = (&DAT_001f5563)[lVar30 * 6];\n      switch(cVar33) {\n      case '\0':\n      case '\x0f':\n        bVar36 = 0;\n      case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;\n      case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar7 = param_2[1];\njoined_r0x0013ebb8:\n      param_2 = param_2 + 1;\n    }" { (expression_statement "pbVar13 = param_2;" (assignment_expression "pbVar13 = param_2" identifier = identifier) ;) (if_statement "if (bVar7 != 0x25) {\n        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);\n        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);\n        pbVar38 = param_2;\n        if (*pbVar13 == 0) break;\n      }" if (parenthesized_expression "(bVar7 != 0x25)" ( (binary_expression "bVar7 != 0x25" identifier != number_literal) )) (compound_statement "{\n        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);\n        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);\n        pbVar38 = param_2;\n        if (*pbVar13 == 0) break;\n      }" { (expression_statement "pbVar13 = (byte *)strchrnul((char *)param_2,0x25);" (assignment_expression "pbVar13 = (byte *)strchrnul((char *)param_2,0x25)" identifier = (cast_expression "(byte *)strchrnul((char *)param_2,0x25)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "strchrnul((char *)param_2,0x25)" identifier (argument_list "((char *)param_2,0x25)" ( (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal ))))) ;) (expression_statement "FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);" (call_expression "FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2)" identifier (argument_list "(param_1,param_2,(long)pbVar13 - (long)param_2)" ( identifier , identifier , (binary_expression "(long)pbVar13 - (long)param_2" (cast_expression "(long)pbVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)param_2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) ;) (expression_statement "pbVar38 = param_2;" (assignment_expression "pbVar38 = param_2" identifier = identifier) ;) (if_statement "if (*pbVar13 == 0) break;" if (parenthesized_expression "(*pbVar13 == 0)" ( (binary_expression "*pbVar13 == 0" (pointer_expression "*pbVar13" * identifier) == number_literal) )) (break_statement "break;" break ;)) })) (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) (if_statement "if (pbVar13[1] == 0) {\n        FUN_0013e580(param_1,&DAT_001e9c91,1);\n        break;\n      }" if (parenthesized_expression "(pbVar13[1] == 0)" ( (binary_expression "pbVar13[1] == 0" (subscript_expression "pbVar13[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        FUN_0013e580(param_1,&DAT_001e9c91,1);\n        break;\n      }" { (expression_statement "FUN_0013e580(param_1,&DAT_001e9c91,1);" (call_expression "FUN_0013e580(param_1,&DAT_001e9c91,1)" identifier (argument_list "(param_1,&DAT_001e9c91,1)" ( identifier , (pointer_expression "&DAT_001e9c91" & identifier) , number_literal ))) ;) (break_statement "break;" break ;) })) (expression_statement "bVar39 = false;" (assignment_expression "bVar39 = false" identifier = false) ;) (expression_statement "uVar10 = 0xffffffff;" (assignment_expression "uVar10 = 0xffffffff" identifier = number_literal) ;) (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" identifier = number_literal) ;) (expression_statement "bVar25 = 0;" (assignment_expression "bVar25 = 0" identifier = number_literal) ;) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "bVar35 = 0;" (assignment_expression "bVar35 = 0" identifier = number_literal) ;) (expression_statement "bVar7 = 0;" (assignment_expression "bVar7 = 0" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)0x0;" (assignment_expression "pbVar24 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar13 = pbVar13 + 1;" (assignment_expression "pbVar13 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (do_statement "do {\n        param_2 = pbVar13;\n        switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar13 = param_2;\n      } while (iVar9 != 0);" do (compound_statement "{\n        param_2 = pbVar13;\n        switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar13 = param_2;\n      }" { (expression_statement "param_2 = pbVar13;" (assignment_expression "param_2 = pbVar13" identifier = identifier) ;) (switch_statement "switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }" switch (parenthesized_expression "(iVar9)" ( identifier )) (compound_statement "{\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }" { (case_statement "case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;" case number_literal : (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) (expression_statement "bVar7 = 0x20;" (assignment_expression "bVar7 = 0x20" identifier = number_literal) ;) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;" case number_literal : (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) (expression_statement "bVar25 = 1;" (assignment_expression "bVar25 = 1" identifier = number_literal) ;) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "default:\n          goto switchD_0013e8bf_caseD_22;" default : (goto_statement "goto switchD_0013e8bf_caseD_22;" goto statement_identifier ;)) (case_statement "case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;" case number_literal : (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) (expression_statement "bVar35 = 1;" (assignment_expression "bVar35 = 1" identifier = number_literal) ;) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;" case number_literal : (if_statement "if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }" { (expression_statement "uVar12 = *param_3;" (assignment_expression "uVar12 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }" if (parenthesized_expression "(uVar12 < 0x30)" ( (binary_expression "uVar12 < 0x30" identifier < number_literal) )) (compound_statement "{\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }" { (expression_statement "puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));" (assignment_expression "puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4))" identifier = (cast_expression "(uint *)((ulong)uVar12 + *(long *)(param_3 + 4))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar12 + *(long *)(param_3 + 4))" ( (binary_expression "(ulong)uVar12 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier) + (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "*param_3 = uVar12 + 8;" (assignment_expression "*param_3 = uVar12 + 8" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar12 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }" else (compound_statement "{\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }" { (expression_statement "puVar32 = *(uint **)(param_3 + 2);" (assignment_expression "puVar32 = *(uint **)(param_3 + 2)" identifier = (pointer_expression "*(uint **)(param_3 + 2)" * (cast_expression "(uint **)(param_3 + 2)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(uint **)(param_3 + 2) = puVar32 + 2;" (assignment_expression "*(uint **)(param_3 + 2) = puVar32 + 2" (pointer_expression "*(uint **)(param_3 + 2)" * (cast_expression "(uint **)(param_3 + 2)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "puVar32 + 2" identifier + number_literal)) ;) }))) (expression_statement "uVar12 = *puVar32;" (assignment_expression "uVar12 = *puVar32" identifier = (pointer_expression "*puVar32" * identifier)) ;) }) (else_clause "else {\n            uVar12 = FUN_001203a0();\n          }" else (compound_statement "{\n            uVar12 = FUN_001203a0();\n          }" { (expression_statement "uVar12 = FUN_001203a0();" (assignment_expression "uVar12 = FUN_001203a0()" identifier = (call_expression "FUN_001203a0()" identifier (argument_list "()" ( )))) ;) }))) (expression_statement "pbVar24 = (byte *)(ulong)uVar12;" (assignment_expression "pbVar24 = (byte *)(ulong)uVar12" identifier = (cast_expression "(byte *)(ulong)uVar12" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (if_statement "if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }" if (parenthesized_expression "((int)uVar12 < 0)" ( (binary_expression "(int)uVar12 < 0" (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }" { (if_statement "if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }" if (parenthesized_expression "(uVar12 == 0x80000000)" ( (binary_expression "uVar12 == 0x80000000" identifier == number_literal) )) (compound_statement "{\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }" { (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) (expression_statement "pbVar24 = (byte *)0x0;" (assignment_expression "pbVar24 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }" else (compound_statement "{\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }" { (expression_statement "pbVar24 = (byte *)(ulong)-uVar12;" (assignment_expression "pbVar24 = (byte *)(ulong)-uVar12" identifier = (binary_expression "(byte *)(ulong)-uVar12" (cast_expression "(byte *)(ulong)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ulong)" ( identifier ))) - identifier)) ;) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) }))) })) (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (if_statement "if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }" if (parenthesized_expression "((iVar9 != 0x6c) && (iVar9 != 0x2e))" ( (binary_expression "(iVar9 != 0x6c) && (iVar9 != 0x2e)" (parenthesized_expression "(iVar9 != 0x6c)" ( (binary_expression "iVar9 != 0x6c" identifier != number_literal) )) && (parenthesized_expression "(iVar9 != 0x2e)" ( (binary_expression "iVar9 != 0x2e" identifier != number_literal) ))) )) (compound_statement "{\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }" { (expression_statement "cVar18 = '\0';" (assignment_expression "cVar18 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (goto_statement "goto LAB_0013e9c2;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;" case number_literal : (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) (expression_statement "bVar7 = 0x2b;" (assignment_expression "bVar7 = 0x2b" identifier = number_literal) ;) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;" case number_literal : (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) (expression_statement "bVar36 = 0x2c;" (assignment_expression "bVar36 = 0x2c" identifier = number_literal) ;) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;" case number_literal : (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;" case number_literal : (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) (if_statement "if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }" if (parenthesized_expression "(iVar9 == 0x2a)" ( (binary_expression "iVar9 == 0x2a" identifier == number_literal) )) (compound_statement "{\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }" { (if_statement "if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }" { (expression_statement "uVar10 = *param_3;" (assignment_expression "uVar10 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }" if (parenthesized_expression "(uVar10 < 0x30)" ( (binary_expression "uVar10 < 0x30" identifier < number_literal) )) (compound_statement "{\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }" { (expression_statement "puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));" (assignment_expression "puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4))" identifier = (cast_expression "(uint *)((ulong)uVar10 + *(long *)(param_3 + 4))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar10 + *(long *)(param_3 + 4))" ( (binary_expression "(ulong)uVar10 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier) + (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "*param_3 = uVar10 + 8;" (assignment_expression "*param_3 = uVar10 + 8" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar10 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }" else (compound_statement "{\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }" { (expression_statement "puVar32 = *(uint **)(param_3 + 2);" (assignment_expression "puVar32 = *(uint **)(param_3 + 2)" identifier = (pointer_expression "*(uint **)(param_3 + 2)" * (cast_expression "(uint **)(param_3 + 2)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(uint **)(param_3 + 2) = puVar32 + 2;" (assignment_expression "*(uint **)(param_3 + 2) = puVar32 + 2" (pointer_expression "*(uint **)(param_3 + 2)" * (cast_expression "(uint **)(param_3 + 2)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "puVar32 + 2" identifier + number_literal)) ;) }))) (expression_statement "uVar12 = *puVar32;" (assignment_expression "uVar12 = *puVar32" identifier = (pointer_expression "*puVar32" * identifier)) ;) }) (else_clause "else {\n              uVar12 = FUN_001203a0();\n            }" else (compound_statement "{\n              uVar12 = FUN_001203a0();\n            }" { (expression_statement "uVar12 = FUN_001203a0();" (assignment_expression "uVar12 = FUN_001203a0()" identifier = (call_expression "FUN_001203a0()" identifier (argument_list "()" ( )))) ;) }))) (expression_statement "uVar10 = uVar12;" (assignment_expression "uVar10 = uVar12" identifier = identifier) ;) (if_statement "if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }" if (parenthesized_expression "(((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000))" ( (binary_expression "((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)" (parenthesized_expression "((int)uVar12 < 0)" ( (binary_expression "(int)uVar12 < 0" (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "(uVar10 = -uVar12, uVar12 == 0x80000000)" ( (comma_expression "uVar10 = -uVar12, uVar12 == 0x80000000" (assignment_expression "uVar10 = -uVar12" identifier = (unary_expression "-uVar12" - identifier)) , (binary_expression "uVar12 == 0x80000000" identifier == number_literal)) ))) )) (compound_statement "{\n              uVar10 = 0xffffffff;\n            }" { (expression_statement "uVar10 = 0xffffffff;" (assignment_expression "uVar10 = 0xffffffff" identifier = number_literal) ;) })) (expression_statement "iVar9 = (int)(char)pbVar13[2];" (assignment_expression "iVar9 = (int)(char)pbVar13[2]" identifier = (cast_expression "(int)(char)pbVar13[2]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[2]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[2]" identifier [ number_literal ])))) ;) (expression_statement "param_2 = pbVar13 + 2;" (assignment_expression "param_2 = pbVar13 + 2" identifier = (binary_expression "pbVar13 + 2" identifier + number_literal)) ;) }) (else_clause "else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }" else (compound_statement "{\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }" { (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (if_statement "if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }" if (parenthesized_expression "(iVar9 - 0x30U < 10)" ( (binary_expression "iVar9 - 0x30U < 10" (binary_expression "iVar9 - 0x30U" identifier - number_literal) < number_literal) )) (compound_statement "{\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }" { (do_statement "do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);" do (compound_statement "{\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              }" { (expression_statement "param_2 = param_2 + 1;" (assignment_expression "param_2 = param_2 + 1" identifier = (binary_expression "param_2 + 1" identifier + number_literal)) ;) (expression_statement "uVar10 = iVar9 + -0x30 + uVar10 * 10;" (assignment_expression "uVar10 = iVar9 + -0x30 + uVar10 * 10" identifier = (binary_expression "iVar9 + -0x30 + uVar10 * 10" (binary_expression "iVar9 + -0x30" identifier + number_literal) + (binary_expression "uVar10 * 10" identifier * number_literal))) ;) (expression_statement "iVar9 = (int)(char)*param_2;" (assignment_expression "iVar9 = (int)(char)*param_2" identifier = (cast_expression "(int)(char)*param_2" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*param_2" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*param_2" * identifier)))) ;) }) while (parenthesized_expression "(iVar9 - 0x30U < 10)" ( (binary_expression "iVar9 - 0x30U < 10" (binary_expression "iVar9 - 0x30U" identifier - number_literal) < number_literal) )) ;) (expression_statement "uVar10 = uVar10 & 0x7fffffff;" (assignment_expression "uVar10 = uVar10 & 0x7fffffff" identifier = (binary_expression "uVar10 & 0x7fffffff" identifier & number_literal)) ;) })) }))) (if_statement "if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;" if (parenthesized_expression "(iVar9 != 0x6c)" ( (binary_expression "iVar9 != 0x6c" identifier != number_literal) )) (goto_statement "goto switchD_0013e8bf_caseD_22;" goto statement_identifier ;)) (expression_statement "iVar9 = (int)(char)*param_2;" (assignment_expression "iVar9 = (int)(char)*param_2" identifier = (cast_expression "(int)(char)*param_2" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*param_2" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*param_2" * identifier)))) ;) (break_statement "break;" break ;)) (case_statement "case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;" case number_literal : (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) (expression_statement "bVar39 = true;" (assignment_expression "bVar39 = true" identifier = true) ;) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x31:" case number_literal :) (case_statement "case 0x32:" case number_literal :) (case_statement "case 0x33:" case number_literal :) (case_statement "case 0x34:" case number_literal :) (case_statement "case 0x35:" case number_literal :) (case_statement "case 0x36:" case number_literal :) (case_statement "case 0x37:" case number_literal :) (case_statement "case 0x38:" case number_literal :) (case_statement "case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;" case number_literal : (expression_statement "iVar29 = (int)(char)pbVar13[1];" (assignment_expression "iVar29 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) (expression_statement "pbVar24 = (byte *)(ulong)(iVar9 - 0x30);" (assignment_expression "pbVar24 = (byte *)(ulong)(iVar9 - 0x30)" identifier = (cast_expression "(byte *)(ulong)(iVar9 - 0x30)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(ulong)(iVar9 - 0x30)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar9 - 0x30)" ( (binary_expression "iVar9 - 0x30" identifier - number_literal) ))))) ;) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (expression_statement "iVar9 = iVar29;" (assignment_expression "iVar9 = iVar29" identifier = identifier) ;) (if_statement "if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }" if (parenthesized_expression "(iVar29 - 0x30U < 10)" ( (binary_expression "iVar29 - 0x30U < 10" (binary_expression "iVar29 - 0x30U" identifier - number_literal) < number_literal) )) (compound_statement "{\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }" { (do_statement "do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);" do (compound_statement "{\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            }" { (expression_statement "pbVar13 = param_2;" (assignment_expression "pbVar13 = param_2" identifier = identifier) ;) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (expression_statement "uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;" (assignment_expression "uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10" identifier = (binary_expression "iVar29 + -0x30 + (int)pbVar24 * 10" (binary_expression "iVar29 + -0x30" identifier + number_literal) + (binary_expression "(int)pbVar24 * 10" (cast_expression "(int)pbVar24" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "pbVar24 = (byte *)(ulong)uVar12;" (assignment_expression "pbVar24 = (byte *)(ulong)uVar12" identifier = (cast_expression "(byte *)(ulong)uVar12" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "iVar29 = (int)(char)pbVar13[1];" (assignment_expression "iVar29 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) }) while (parenthesized_expression "(iVar29 - 0x30U < 10)" ( (binary_expression "iVar29 - 0x30U < 10" (binary_expression "iVar29 - 0x30U" identifier - number_literal) < number_literal) )) ;) (expression_statement "pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);" (assignment_expression "pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff)" identifier = (cast_expression "(byte *)(ulong)(uVar12 & 0x7fffffff)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(ulong)(uVar12 & 0x7fffffff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar12 & 0x7fffffff)" ( (binary_expression "uVar12 & 0x7fffffff" identifier & number_literal) ))))) ;) (expression_statement "iVar9 = iVar29;" (assignment_expression "iVar9 = iVar29" identifier = identifier) ;) })) (if_statement "if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;" if (parenthesized_expression "((iVar9 != 0x2e) && (iVar9 != 0x6c))" ( (binary_expression "(iVar9 != 0x2e) && (iVar9 != 0x6c)" (parenthesized_expression "(iVar9 != 0x2e)" ( (binary_expression "iVar9 != 0x2e" identifier != number_literal) )) && (parenthesized_expression "(iVar9 != 0x6c)" ( (binary_expression "iVar9 != 0x6c" identifier != number_literal) ))) )) (goto_statement "goto switchD_0013e8bf_caseD_22;" goto statement_identifier ;)) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) (break_statement "break;" break ;)) (case_statement "case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;" case number_literal : (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) (if_statement "if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }" if (parenthesized_expression "(iVar9 == 0x6c)" ( (binary_expression "iVar9 == 0x6c" identifier == number_literal) )) (compound_statement "{\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }" { (expression_statement "iVar9 = (int)(char)pbVar13[2];" (assignment_expression "iVar9 = (int)(char)pbVar13[2]" identifier = (cast_expression "(int)(char)pbVar13[2]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[2]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[2]" identifier [ number_literal ])))) ;) (expression_statement "cVar18 = '\x02';" (assignment_expression "cVar18 = '\x02'" identifier = (char_literal "'\x02'" ' escape_sequence ')) ;) (expression_statement "param_2 = pbVar13 + 2;" (assignment_expression "param_2 = pbVar13 + 2" identifier = (binary_expression "pbVar13 + 2" identifier + number_literal)) ;) }) (else_clause "else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }" else (compound_statement "{\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }" { (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (expression_statement "cVar18 = '\x01';" (assignment_expression "cVar18 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) }))) (goto_statement "goto LAB_0013e9c2;" goto statement_identifier ;)) })) (expression_statement "pbVar13 = param_2;" (assignment_expression "pbVar13 = param_2" identifier = identifier) ;) }) while (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) ;) (labeled_statement "switchD_0013e8bf_caseD_22:\n      cVar18 = '\0';" statement_identifier : (expression_statement "cVar18 = '\0';" (assignment_expression "cVar18 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;)) (labeled_statement "LAB_0013e9c2:\n      uVar12 = (uint)pbVar24;" statement_identifier : (expression_statement "uVar12 = (uint)pbVar24;" (assignment_expression "uVar12 = (uint)pbVar24" identifier = (cast_expression "(uint)pbVar24" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (expression_statement "pcVar34 = "s";" (assignment_expression "pcVar34 = "s"" identifier = (string_literal ""s"" " string_content ")) ;) (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;) (expression_statement "iVar31 = 100;" (assignment_expression "iVar31 = 100" identifier = number_literal) ;) (while_statement "while (iVar31 != iVar9) {\n        iVar29 = iVar29 + 1;\n        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;\n        cVar33 = *pcVar34;\n        pcVar34 = pcVar34 + 6;\n        iVar31 = (int)cVar33;\n      }" while (parenthesized_expression "(iVar31 != iVar9)" ( (binary_expression "iVar31 != iVar9" identifier != identifier) )) (compound_statement "{\n        iVar29 = iVar29 + 1;\n        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;\n        cVar33 = *pcVar34;\n        pcVar34 = pcVar34 + 6;\n        iVar31 = (int)cVar33;\n      }" { (expression_statement "iVar29 = iVar29 + 1;" (assignment_expression "iVar29 = iVar29 + 1" identifier = (binary_expression "iVar29 + 1" identifier + number_literal)) ;) (if_statement "if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;" if (parenthesized_expression "(iVar29 == 0x17)" ( (binary_expression "iVar29 == 0x17" identifier == number_literal) )) (goto_statement "goto switchD_0013ea21_caseD_11;" goto statement_identifier ;)) (expression_statement "cVar33 = *pcVar34;" (assignment_expression "cVar33 = *pcVar34" identifier = (pointer_expression "*pcVar34" * identifier)) ;) (expression_statement "pcVar34 = pcVar34 + 6;" (assignment_expression "pcVar34 = pcVar34 + 6" identifier = (binary_expression "pcVar34 + 6" identifier + number_literal)) ;) (expression_statement "iVar31 = (int)cVar33;" (assignment_expression "iVar31 = (int)cVar33" identifier = (cast_expression "(int)cVar33" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (expression_statement "lVar30 = (long)iVar29;" (assignment_expression "lVar30 = (long)iVar29" identifier = (cast_expression "(long)iVar29" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "cVar33 = (&DAT_001f5563)[lVar30 * 6];" (assignment_expression "cVar33 = (&DAT_001f5563)[lVar30 * 6]" identifier = (subscript_expression "(&DAT_001f5563)[lVar30 * 6]" (parenthesized_expression "(&DAT_001f5563)" ( (pointer_expression "&DAT_001f5563" & identifier) )) [ (binary_expression "lVar30 * 6" identifier * number_literal) ])) ;) (switch_statement "switch(cVar33) {\n      case '\0':\n      case '\x0f':\n        bVar36 = 0;\n      case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;\n      case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }" switch (parenthesized_expression "(cVar33)" ( identifier )) (compound_statement "{\n      case '\0':\n      case '\x0f':\n        bVar36 = 0;\n      case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;\n      case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }" { (case_statement "case '\0':" case (char_literal "'\0'" ' escape_sequence ') :) (case_statement "case '\x0f':\n        bVar36 = 0;" case (char_literal "'\x0f'" ' escape_sequence ') : (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" identifier = number_literal) ;)) (case_statement "case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;" case (char_literal "'\x10'" ' escape_sequence ') : (if_statement "if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }" if (parenthesized_expression "(((&DAT_001f5562)[lVar30 * 6] & 1) == 0)" ( (binary_expression "((&DAT_001f5562)[lVar30 * 6] & 1) == 0" (parenthesized_expression "((&DAT_001f5562)[lVar30 * 6] & 1)" ( (binary_expression "(&DAT_001f5562)[lVar30 * 6] & 1" (subscript_expression "(&DAT_001f5562)[lVar30 * 6]" (parenthesized_expression "(&DAT_001f5562)" ( (pointer_expression "&DAT_001f5562" & identifier) )) [ (binary_expression "lVar30 * 6" identifier * number_literal) ]) & number_literal) )) == number_literal) )) (compound_statement "{\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }" { (if_statement "if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }" { (expression_statement "uVar19 = *param_3;" (assignment_expression "uVar19 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }" if (parenthesized_expression "(cVar18 == '\0')" ( (binary_expression "cVar18 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }" { (if_statement "if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }" if (parenthesized_expression "(uVar19 < 0x30)" ( (binary_expression "uVar19 < 0x30" identifier < number_literal) )) (compound_statement "{\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }" { (expression_statement "puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));" (assignment_expression "puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4))" identifier = (cast_expression "(uint *)((ulong)uVar19 + *(long *)(param_3 + 4))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar19 + *(long *)(param_3 + 4))" ( (binary_expression "(ulong)uVar19 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) + (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "*param_3 = uVar19 + 8;" (assignment_expression "*param_3 = uVar19 + 8" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar19 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }" else (compound_statement "{\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }" { (expression_statement "puVar32 = *(uint **)(param_3 + 2);" (assignment_expression "puVar32 = *(uint **)(param_3 + 2)" identifier = (pointer_expression "*(uint **)(param_3 + 2)" * (cast_expression "(uint **)(param_3 + 2)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(uint **)(param_3 + 2) = puVar32 + 2;" (assignment_expression "*(uint **)(param_3 + 2) = puVar32 + 2" (pointer_expression "*(uint **)(param_3 + 2)" * (cast_expression "(uint **)(param_3 + 2)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "puVar32 + 2" identifier + number_literal)) ;) }))) (expression_statement "uVar37 = (ulong)*puVar32;" (assignment_expression "uVar37 = (ulong)*puVar32" identifier = (binary_expression "(ulong)*puVar32" (parenthesized_expression "(ulong)" ( identifier )) * identifier)) ;) (expression_statement "bVar7 = 0;" (assignment_expression "bVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }" else (compound_statement "{\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }" { (labeled_statement "LAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }" statement_identifier : (if_statement "if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }" if (parenthesized_expression "(uVar19 < 0x30)" ( (binary_expression "uVar19 < 0x30" identifier < number_literal) )) (compound_statement "{\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }" { (expression_statement "puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));" (assignment_expression "puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4))" identifier = (cast_expression "(ulong *)((ulong)uVar19 + *(long *)(param_3 + 4))" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar19 + *(long *)(param_3 + 4))" ( (binary_expression "(ulong)uVar19 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) + (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "*param_3 = uVar19 + 8;" (assignment_expression "*param_3 = uVar19 + 8" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar19 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }" else (compound_statement "{\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }" { (expression_statement "puVar22 = *(ulong **)(param_3 + 2);" (assignment_expression "puVar22 = *(ulong **)(param_3 + 2)" identifier = (pointer_expression "*(ulong **)(param_3 + 2)" * (cast_expression "(ulong **)(param_3 + 2)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(ulong **)(param_3 + 2) = puVar22 + 1;" (assignment_expression "*(ulong **)(param_3 + 2) = puVar22 + 1" (pointer_expression "*(ulong **)(param_3 + 2)" * (cast_expression "(ulong **)(param_3 + 2)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "puVar22 + 1" identifier + number_literal)) ;) })))) (expression_statement "uVar37 = *puVar22;" (assignment_expression "uVar37 = *puVar22" identifier = (pointer_expression "*puVar22" * identifier)) ;) (expression_statement "bVar7 = 0;" (assignment_expression "bVar7 = 0" identifier = number_literal) ;) }))) }) (else_clause "else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }" else (compound_statement "{\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }" { (labeled_statement "LAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);" statement_identifier : (expression_statement "uVar37 = FUN_001203a0(local_d8);" (assignment_expression "uVar37 = FUN_001203a0(local_d8)" identifier = (call_expression "FUN_001203a0(local_d8)" identifier (argument_list "(local_d8)" ( identifier )))) ;)) (expression_statement "bVar7 = 0;" (assignment_expression "bVar7 = 0" identifier = number_literal) ;) }))) (labeled_statement "LAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }" statement_identifier : (if_statement "if (uVar37 == 0) {\n            bVar35 = 0;\n          }" if (parenthesized_expression "(uVar37 == 0)" ( (binary_expression "uVar37 == 0" identifier == number_literal) )) (compound_statement "{\n            bVar35 = 0;\n          }" { (expression_statement "bVar35 = 0;" (assignment_expression "bVar35 = 0" identifier = number_literal) ;) }))) }) (else_clause "else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }" else (compound_statement "{\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }" { (if_statement "if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }" { (expression_statement "uVar19 = *param_3;" (assignment_expression "uVar19 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }" if (parenthesized_expression "(cVar18 == '\0')" ( (binary_expression "cVar18 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }" { (if_statement "if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }" if (parenthesized_expression "(uVar19 < 0x30)" ( (binary_expression "uVar19 < 0x30" identifier < number_literal) )) (compound_statement "{\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }" { (expression_statement "piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));" (assignment_expression "piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4))" identifier = (cast_expression "(int *)((ulong)uVar19 + *(long *)(param_3 + 4))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar19 + *(long *)(param_3 + 4))" ( (binary_expression "(ulong)uVar19 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) + (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "*param_3 = uVar19 + 8;" (assignment_expression "*param_3 = uVar19 + 8" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar19 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }" else (compound_statement "{\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }" { (expression_statement "piVar21 = *(int **)(param_3 + 2);" (assignment_expression "piVar21 = *(int **)(param_3 + 2)" identifier = (pointer_expression "*(int **)(param_3 + 2)" * (cast_expression "(int **)(param_3 + 2)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(int **)(param_3 + 2) = piVar21 + 2;" (assignment_expression "*(int **)(param_3 + 2) = piVar21 + 2" (pointer_expression "*(int **)(param_3 + 2)" * (cast_expression "(int **)(param_3 + 2)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "piVar21 + 2" identifier + number_literal)) ;) }))) (expression_statement "uVar37 = (ulong)*piVar21;" (assignment_expression "uVar37 = (ulong)*piVar21" identifier = (binary_expression "(ulong)*piVar21" (parenthesized_expression "(ulong)" ( identifier )) * identifier)) ;) (if_statement "if ((long)uVar37 < 0) goto LAB_0013eb61;" if (parenthesized_expression "((long)uVar37 < 0)" ( (binary_expression "(long)uVar37 < 0" (cast_expression "(long)uVar37" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) < number_literal) )) (goto_statement "goto LAB_0013eb61;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }" else (compound_statement "{\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }" { (labeled_statement "LAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }" statement_identifier : (if_statement "if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }" if (parenthesized_expression "(uVar19 < 0x30)" ( (binary_expression "uVar19 < 0x30" identifier < number_literal) )) (compound_statement "{\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }" { (expression_statement "puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));" (assignment_expression "puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4))" identifier = (cast_expression "(ulong *)((ulong)uVar19 + *(long *)(param_3 + 4))" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar19 + *(long *)(param_3 + 4))" ( (binary_expression "(ulong)uVar19 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) + (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "*param_3 = uVar19 + 8;" (assignment_expression "*param_3 = uVar19 + 8" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar19 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }" else (compound_statement "{\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }" { (expression_statement "puVar22 = *(ulong **)(param_3 + 2);" (assignment_expression "puVar22 = *(ulong **)(param_3 + 2)" identifier = (pointer_expression "*(ulong **)(param_3 + 2)" * (cast_expression "(ulong **)(param_3 + 2)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(ulong **)(param_3 + 2) = puVar22 + 1;" (assignment_expression "*(ulong **)(param_3 + 2) = puVar22 + 1" (pointer_expression "*(ulong **)(param_3 + 2)" * (cast_expression "(ulong **)(param_3 + 2)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "puVar22 + 1" identifier + number_literal)) ;) })))) (expression_statement "uVar37 = *puVar22;" (assignment_expression "uVar37 = *puVar22" identifier = (pointer_expression "*puVar22" * identifier)) ;) (if_statement "if ((long)uVar37 < 0) goto LAB_0013f180;" if (parenthesized_expression "((long)uVar37 < 0)" ( (binary_expression "(long)uVar37 < 0" (cast_expression "(long)uVar37" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) < number_literal) )) (goto_statement "goto LAB_0013f180;" goto statement_identifier ;)) }))) (goto_statement "goto LAB_0013f51d;" goto statement_identifier ;) })) (labeled_statement "LAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);" statement_identifier : (expression_statement "uVar37 = FUN_001203a0(local_d8);" (assignment_expression "uVar37 = FUN_001203a0(local_d8)" identifier = (call_expression "FUN_001203a0(local_d8)" identifier (argument_list "(local_d8)" ( identifier )))) ;)) (if_statement "if (-1 < (long)uVar37) goto LAB_0013f51d;" if (parenthesized_expression "(-1 < (long)uVar37)" ( (binary_expression "-1 < (long)uVar37" number_literal < (cast_expression "(long)uVar37" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) (goto_statement "goto LAB_0013f51d;" goto statement_identifier ;)) (labeled_statement "LAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }" statement_identifier : (if_statement "if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }" if (parenthesized_expression "(uVar37 == 0x8000000000000000)" ( (binary_expression "uVar37 == 0x8000000000000000" identifier == number_literal) )) (compound_statement "{\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }" { (expression_statement "bVar7 = 0x2d;" (assignment_expression "bVar7 = 0x2d" identifier = number_literal) ;) (expression_statement "uVar37 = 0x8000000000000000;" (assignment_expression "uVar37 = 0x8000000000000000" identifier = number_literal) ;) }) (else_clause "else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }" else (compound_statement "{\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }" { (labeled_statement "LAB_0013eb61:\n            uVar37 = -uVar37;" statement_identifier : (expression_statement "uVar37 = -uVar37;" (assignment_expression "uVar37 = -uVar37" identifier = (unary_expression "-uVar37" - identifier)) ;)) (expression_statement "bVar7 = 0x2d;" (assignment_expression "bVar7 = 0x2d" identifier = number_literal) ;) })))) }))) (if_statement "if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }" if (parenthesized_expression "((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19))" ( (binary_expression "(bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)" (parenthesized_expression "(bVar39)" ( identifier )) && (parenthesized_expression "(uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)" ( (comma_expression "uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19" (assignment_expression "uVar19 = uVar12 - (bVar7 != 0)" identifier = (binary_expression "uVar12 - (bVar7 != 0)" identifier - (parenthesized_expression "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )))) , (binary_expression "(int)uVar10 < (int)uVar19" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (compound_statement "{\n          uVar10 = uVar19;\n        }" { (expression_statement "uVar10 = uVar19;" (assignment_expression "uVar10 = uVar19" identifier = identifier) ;) })) (if_statement "if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }" if (parenthesized_expression "((int)uVar10 < 0x25)" ( (binary_expression "(int)uVar10 < 0x25" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }" { (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar13 = local_43;" (assignment_expression "pbVar13 = local_43" identifier = identifier) ;) }) (else_clause "else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }" else (compound_statement "{\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }" { (expression_statement "lVar23 = (long)(int)uVar10 + 10;" (assignment_expression "lVar23 = (long)(int)uVar10 + 10" identifier = (binary_expression "(long)(int)uVar10 + 10" (cast_expression "(long)(int)uVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal)) ;) (if_statement "if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }" if (parenthesized_expression "(bVar36 != 0)" ( (binary_expression "bVar36 != 0" identifier != number_literal) )) (compound_statement "{\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }" { (expression_statement "lVar23 = lVar23 + (int)uVar10 / 3;" (assignment_expression "lVar23 = lVar23 + (int)uVar10 / 3" identifier = (binary_expression "lVar23 + (int)uVar10 / 3" identifier + (binary_expression "(int)uVar10 / 3" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) / number_literal))) ;) })) (expression_statement "local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);" (assignment_expression "local_e0 = (byte *)FUN_0011bc10(param_1,lVar23)" identifier = (cast_expression "(byte *)FUN_0011bc10(param_1,lVar23)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0011bc10(param_1,lVar23)" identifier (argument_list "(param_1,lVar23)" ( identifier , identifier ))))) ;) (if_statement "if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;" if (parenthesized_expression "(local_e0 == (byte *)0x0)" ( (binary_expression "local_e0 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto switchD_0013ea21_caseD_11;" goto statement_identifier ;)) (expression_statement "pbVar13 = local_e0 + (long)(int)lVar23 + -1;" (assignment_expression "pbVar13 = local_e0 + (long)(int)lVar23 + -1" identifier = (binary_expression "local_e0 + (long)(int)lVar23 + -1" (binary_expression "local_e0 + (long)(int)lVar23" identifier + (cast_expression "(long)(int)lVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)lVar23" ( (type_descriptor "int" primitive_type) ) identifier))) + number_literal)) ;) }))) (expression_statement "pbVar24 = pbVar13;" (assignment_expression "pbVar24 = pbVar13" identifier = identifier) ;) (if_statement "if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }" if (parenthesized_expression "(cVar33 == '\x0f')" ( (binary_expression "cVar33 == '\x0f'" identifier == (char_literal "'\x0f'" ' escape_sequence ')) )) (compound_statement "{\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }" { (if_statement "if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }" if (parenthesized_expression "((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1))" ( (binary_expression "(uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)" (parenthesized_expression "(uVar37 % 10 < 4)" ( (binary_expression "uVar37 % 10 < 4" (binary_expression "uVar37 % 10" identifier % number_literal) < number_literal) )) && (parenthesized_expression "((uVar37 / 10) % 10 != 1)" ( (binary_expression "(uVar37 / 10) % 10 != 1" (binary_expression "(uVar37 / 10) % 10" (parenthesized_expression "(uVar37 / 10)" ( (binary_expression "uVar37 / 10" identifier / number_literal) )) % number_literal) != number_literal) ))) )) (compound_statement "{\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }" { (expression_statement "iVar9 = (int)(uVar37 % 10) * 2;" (assignment_expression "iVar9 = (int)(uVar37 % 10) * 2" identifier = (binary_expression "(int)(uVar37 % 10) * 2" (cast_expression "(int)(uVar37 % 10)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar37 % 10)" ( (binary_expression "uVar37 % 10" identifier % number_literal) ))) * number_literal)) ;) (expression_statement "bVar25 = "thstndrd"[iVar9 + 1];" (assignment_expression "bVar25 = "thstndrd"[iVar9 + 1]" identifier = (subscript_expression ""thstndrd"[iVar9 + 1]" (string_literal ""thstndrd"" " string_content ") [ (binary_expression "iVar9 + 1" identifier + number_literal) ])) ;) (expression_statement "bVar8 = "thstndrd"[iVar9];" (assignment_expression "bVar8 = "thstndrd"[iVar9]" identifier = (subscript_expression ""thstndrd"[iVar9]" (string_literal ""thstndrd"" " string_content ") [ identifier ])) ;) }) (else_clause "else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }" else (compound_statement "{\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }" { (expression_statement "bVar8 = 0x74;" (assignment_expression "bVar8 = 0x74" identifier = number_literal) ;) (expression_statement "bVar25 = 0x68;" (assignment_expression "bVar25 = 0x68" identifier = number_literal) ;) }))) (expression_statement "pbVar13[-1] = bVar25;" (assignment_expression "pbVar13[-1] = bVar25" (subscript_expression "pbVar13[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar24 = pbVar13 + -2;" (assignment_expression "pbVar24 = pbVar13 + -2" identifier = (binary_expression "pbVar13 + -2" identifier + number_literal)) ;) (expression_statement "pbVar13[-2] = bVar8;" (assignment_expression "pbVar13[-2] = bVar8" (subscript_expression "pbVar13[-2]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "bVar25 = (&DAT_001f5564)[lVar30 * 6];" (assignment_expression "bVar25 = (&DAT_001f5564)[lVar30 * 6]" identifier = (subscript_expression "(&DAT_001f5564)[lVar30 * 6]" (parenthesized_expression "(&DAT_001f5564)" ( (pointer_expression "&DAT_001f5564" & identifier) )) [ (binary_expression "lVar30 * 6" identifier * number_literal) ])) ;) (expression_statement "uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];" (assignment_expression "uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6]" identifier = (subscript_expression "(ulong)(byte)(&DAT_001f5561)[lVar30 * 6]" (call_expression "(ulong)(byte)(&DAT_001f5561)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_001f5561)" ( (pointer_expression "&DAT_001f5561" & identifier) ))) [ (binary_expression "lVar30 * 6" identifier * number_literal) ])) ;) (do_statement "do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);" do (compound_statement "{\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        }" { (expression_statement "pbVar24 = pbVar24 + -1;" (assignment_expression "pbVar24 = pbVar24 + -1" identifier = (binary_expression "pbVar24 + -1" identifier + number_literal)) ;) (expression_statement "*pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];" (assignment_expression "*pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25]" (pointer_expression "*pbVar24" * identifier) = (subscript_expression ""0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25]" (string_literal ""0123456789ABCDEF0123456789abcdef"" " string_content ") [ (binary_expression "uVar37 % uVar28 + (ulong)bVar25" (binary_expression "uVar37 % uVar28" identifier % identifier) + (cast_expression "(ulong)bVar25" ( (type_descriptor "ulong" type_identifier) ) identifier)) ])) ;) (expression_statement "bVar39 = uVar28 <= uVar37;" (assignment_expression "bVar39 = uVar28 <= uVar37" identifier = (binary_expression "uVar28 <= uVar37" identifier <= identifier)) ;) (expression_statement "uVar37 = uVar37 / uVar28;" (assignment_expression "uVar37 = uVar37 / uVar28" identifier = (binary_expression "uVar37 / uVar28" identifier / identifier)) ;) }) while (parenthesized_expression "(bVar39)" ( identifier )) ;) (expression_statement "uVar19 = (int)pbVar13 - (int)pbVar24;" (assignment_expression "uVar19 = (int)pbVar13 - (int)pbVar24" identifier = (binary_expression "(int)pbVar13 - (int)pbVar24" (cast_expression "(int)pbVar13" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar24" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pbVar38 = pbVar24;" (assignment_expression "pbVar38 = pbVar24" identifier = identifier) ;) (if_statement "if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }" if (parenthesized_expression "((int)uVar19 < (int)uVar10)" ( (binary_expression "(int)uVar19 < (int)uVar10" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }" { (expression_statement "pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);" (assignment_expression "pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19)" identifier = (binary_expression "pbVar24 + ~(ulong)((uVar10 - 1) - uVar19)" identifier + (unary_expression "~(ulong)((uVar10 - 1) - uVar19)" ~ (call_expression "(ulong)((uVar10 - 1) - uVar19)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uVar10 - 1) - uVar19)" ( (binary_expression "(uVar10 - 1) - uVar19" (parenthesized_expression "(uVar10 - 1)" ( (binary_expression "uVar10 - 1" identifier - number_literal) )) - identifier) )))))) ;) (do_statement "do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);" do (compound_statement "{\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          }" { (expression_statement "pbVar24 = pbVar24 + -1;" (assignment_expression "pbVar24 = pbVar24 + -1" identifier = (binary_expression "pbVar24 + -1" identifier + number_literal)) ;) (expression_statement "*pbVar24 = 0x30;" (assignment_expression "*pbVar24 = 0x30" (pointer_expression "*pbVar24" * identifier) = number_literal) ;) (expression_statement "uVar19 = uVar10;" (assignment_expression "uVar19 = uVar10" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar24 != pbVar38)" ( (binary_expression "pbVar24 != pbVar38" identifier != identifier) )) ;) })) (if_statement "if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }" if (parenthesized_expression "(bVar36 != 0)" ( (binary_expression "bVar36 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }" { (expression_statement "iVar29 = (int)(uVar19 - 1) / 3;" (assignment_expression "iVar29 = (int)(uVar19 - 1) / 3" identifier = (binary_expression "(int)(uVar19 - 1) / 3" (cast_expression "(int)(uVar19 - 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar19 - 1)" ( (binary_expression "uVar19 - 1" identifier - number_literal) ))) / number_literal)) ;) (expression_statement "iVar9 = (int)(uVar19 - 1) % 3 + 1;" (assignment_expression "iVar9 = (int)(uVar19 - 1) % 3 + 1" identifier = (binary_expression "(int)(uVar19 - 1) % 3 + 1" (binary_expression "(int)(uVar19 - 1) % 3" (cast_expression "(int)(uVar19 - 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar19 - 1)" ( (binary_expression "uVar19 - 1" identifier - number_literal) ))) % number_literal) + number_literal)) ;) (expression_statement "pbVar38 = pbVar38 + -(long)iVar29;" (assignment_expression "pbVar38 = pbVar38 + -(long)iVar29" identifier = (binary_expression "pbVar38 + -(long)iVar29" identifier + (unary_expression "-(long)iVar29" - (cast_expression "(long)iVar29" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)))) ;) (if_statement "if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }" if (parenthesized_expression "(iVar29 != 0)" ( (binary_expression "iVar29 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }" { (expression_statement "iVar31 = 0;" (assignment_expression "iVar31 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }" { (do_statement "do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);" do (compound_statement "{\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              }" { (expression_statement "iVar20 = iVar31;" (assignment_expression "iVar20 = iVar31" identifier = identifier) ;) (expression_statement "pbVar38[iVar20] = pbVar38[iVar29 + iVar20];" (assignment_expression "pbVar38[iVar20] = pbVar38[iVar29 + iVar20]" (subscript_expression "pbVar38[iVar20]" identifier [ identifier ]) = (subscript_expression "pbVar38[iVar29 + iVar20]" identifier [ (binary_expression "iVar29 + iVar20" identifier + identifier) ])) ;) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "iVar31 = iVar20 + 1;" (assignment_expression "iVar31 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) ;) (expression_statement "pbVar38[iVar20 + 1] = bVar36;" (assignment_expression "pbVar38[iVar20 + 1] = bVar36" (subscript_expression "pbVar38[iVar20 + 1]" identifier [ (binary_expression "iVar20 + 1" identifier + number_literal) ]) = identifier) ;) (expression_statement "iVar29 = iVar29 + -1;" (assignment_expression "iVar29 = iVar29 + -1" identifier = (binary_expression "iVar29 + -1" identifier + number_literal)) ;) (if_statement "if (iVar29 == 0) break;" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = 3;" (assignment_expression "iVar9 = 3" identifier = number_literal) ;) (expression_statement "iVar31 = iVar20 + 2;" (assignment_expression "iVar31 = iVar20 + 2" identifier = (binary_expression "iVar20 + 2" identifier + number_literal)) ;) })) })) })) (if_statement "if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }" if (parenthesized_expression "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }" { (expression_statement "pbVar38[-1] = bVar7;" (assignment_expression "pbVar38[-1] = bVar7" (subscript_expression "pbVar38[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar38 = pbVar38 + -1;" (assignment_expression "pbVar38 = pbVar38 + -1" identifier = (binary_expression "pbVar38 + -1" identifier + number_literal)) ;) })) (if_statement "if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }" if (parenthesized_expression "((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0))" ( (binary_expression "(bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)" (parenthesized_expression "(bVar35 != 0)" ( (binary_expression "bVar35 != 0" identifier != number_literal) )) && (parenthesized_expression "(bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)" ( (comma_expression "bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0" (assignment_expression "bVar7 = (&DAT_001f5565)[lVar30 * 6]" identifier = (subscript_expression "(&DAT_001f5565)[lVar30 * 6]" (parenthesized_expression "(&DAT_001f5565)" ( (pointer_expression "&DAT_001f5565" & identifier) )) [ (binary_expression "lVar30 * 6" identifier * number_literal) ])) , (binary_expression "bVar7 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }" { (expression_statement "pbVar24 = &DAT_001f55ea + bVar7;" (assignment_expression "pbVar24 = &DAT_001f55ea + bVar7" identifier = (binary_expression "&DAT_001f55ea + bVar7" (pointer_expression "&DAT_001f55ea" & identifier) + identifier)) ;) (expression_statement "bVar7 = (&DAT_001f55ea)[bVar7];" (assignment_expression "bVar7 = (&DAT_001f55ea)[bVar7]" identifier = (subscript_expression "(&DAT_001f55ea)[bVar7]" (parenthesized_expression "(&DAT_001f55ea)" ( (pointer_expression "&DAT_001f55ea" & identifier) )) [ identifier ])) ;) (while_statement "while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }" while (parenthesized_expression "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )) (compound_statement "{\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }" { (expression_statement "pbVar38 = pbVar38 + -1;" (assignment_expression "pbVar38 = pbVar38 + -1" identifier = (binary_expression "pbVar38 + -1" identifier + number_literal)) ;) (expression_statement "pbVar24 = pbVar24 + 1;" (assignment_expression "pbVar24 = pbVar24 + 1" identifier = (binary_expression "pbVar24 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar38 = bVar7;" (assignment_expression "*pbVar38 = bVar7" (pointer_expression "*pbVar38" * identifier) = identifier) ;) (expression_statement "bVar7 = *pbVar24;" (assignment_expression "bVar7 = *pbVar24" identifier = (pointer_expression "*pbVar24" * identifier)) ;) })) })) (expression_statement "uVar10 = (int)pbVar13 - (int)pbVar38;" (assignment_expression "uVar10 = (int)pbVar13 - (int)pbVar38" identifier = (binary_expression "(int)pbVar13 - (int)pbVar38" (cast_expression "(int)pbVar13" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar38" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar37 = (ulong)uVar10;" (assignment_expression "uVar37 = (ulong)uVar10" identifier = (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "pbVar24 = (byte *)(ulong)(uVar12 - uVar10);" (assignment_expression "pbVar24 = (byte *)(ulong)(uVar12 - uVar10)" identifier = (cast_expression "(byte *)(ulong)(uVar12 - uVar10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(ulong)(uVar12 - uVar10)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar12 - uVar10)" ( (binary_expression "uVar12 - uVar10" identifier - identifier) ))))) ;) (labeled_statement "LAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }" statement_identifier : (if_statement "if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }" if (parenthesized_expression "((int)pbVar24 < 1)" ( (binary_expression "(int)pbVar24 < 1" (cast_expression "(int)pbVar24" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }" { (labeled_statement "LAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);" statement_identifier : (expression_statement "FUN_0013e580(param_1,pbVar38,uVar37);" (call_expression "FUN_0013e580(param_1,pbVar38,uVar37)" identifier (argument_list "(param_1,pbVar38,uVar37)" ( identifier , identifier , identifier ))) ;)) }) (else_clause "else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }" else (if_statement "if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }" if (parenthesized_expression "(bVar5)" ( identifier )) (compound_statement "{\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }" { (expression_statement "FUN_0013e580(param_1,pbVar38,uVar37);" (call_expression "FUN_0013e580(param_1,pbVar38,uVar37)" identifier (argument_list "(param_1,pbVar38,uVar37)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_0013e4b0(param_1,pbVar24,0x20);" (call_expression "FUN_0013e4b0(param_1,pbVar24,0x20)" identifier (argument_list "(param_1,pbVar24,0x20)" ( identifier , identifier , number_literal ))) ;) }) (else_clause "else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }" else (compound_statement "{\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }" { (expression_statement "FUN_0013e4b0(param_1,pbVar24,0x20);" (call_expression "FUN_0013e4b0(param_1,pbVar24,0x20)" identifier (argument_list "(param_1,pbVar24,0x20)" ( identifier , identifier , number_literal ))) ;) (expression_statement "FUN_0013e580(param_1,pbVar38,uVar37);" (call_expression "FUN_0013e580(param_1,pbVar38,uVar37)" identifier (argument_list "(param_1,pbVar38,uVar37)" ( identifier , identifier , identifier ))) ;) })))))) (if_statement "if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }" if (parenthesized_expression "(local_e0 != (byte *)0x0)" ( (binary_expression "local_e0 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          FUN_00119e90(*param_1,local_e0);\n        }" { (expression_statement "FUN_00119e90(*param_1,local_e0);" (call_expression "FUN_00119e90(*param_1,local_e0)" identifier (argument_list "(*param_1,local_e0)" ( (pointer_expression "*param_1" * identifier) , identifier ))) ;) })) (break_statement "break;" break ;)) (case_statement "case '\x01':" case (char_literal "'\x01'" ' escape_sequence ') :) (case_statement "case '\x02':" case (char_literal "'\x02'" ' escape_sequence ') :) (case_statement "case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;" case (char_literal "'\x03'" ' escape_sequence ') : (if_statement "if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }" { (expression_statement "uVar19 = param_3[1];" (assignment_expression "uVar19 = param_3[1]" identifier = (subscript_expression "param_3[1]" identifier [ number_literal ])) ;) (if_statement "if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }" if (parenthesized_expression "(uVar19 < 0xb0)" ( (binary_expression "uVar19 < 0xb0" identifier < number_literal) )) (compound_statement "{\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }" { (expression_statement "param_3[1] = uVar19 + 0x10;" (assignment_expression "param_3[1] = uVar19 + 0x10" (subscript_expression "param_3[1]" identifier [ number_literal ]) = (binary_expression "uVar19 + 0x10" identifier + number_literal)) ;) (expression_statement "dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));" (assignment_expression "dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4))" identifier = (pointer_expression "*(double *)((ulong)uVar19 + *(long *)(param_3 + 4))" * (cast_expression "(double *)((ulong)uVar19 + *(long *)(param_3 + 4))" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar19 + *(long *)(param_3 + 4))" ( (binary_expression "(ulong)uVar19 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) + (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) ))))) ;) }) (else_clause "else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }" else (compound_statement "{\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }" { (expression_statement "pdVar1 = *(double **)(param_3 + 2);" (assignment_expression "pdVar1 = *(double **)(param_3 + 2)" identifier = (pointer_expression "*(double **)(param_3 + 2)" * (cast_expression "(double **)(param_3 + 2)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(double **)(param_3 + 2) = pdVar1 + 1;" (assignment_expression "*(double **)(param_3 + 2) = pdVar1 + 1" (pointer_expression "*(double **)(param_3 + 2)" * (cast_expression "(double **)(param_3 + 2)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "pdVar1 + 1" identifier + number_literal)) ;) (expression_statement "dVar41 = *pdVar1;" (assignment_expression "dVar41 = *pdVar1" identifier = (pointer_expression "*pdVar1" * identifier)) ;) }))) (if_statement "if (uVar10 == 0xffffffff) goto LAB_0013ec1b;" if (parenthesized_expression "(uVar10 == 0xffffffff)" ( (binary_expression "uVar10 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_0013ec1b;" goto statement_identifier ;)) (labeled_statement "LAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;" statement_identifier : (expression_statement "bVar40 = 0 < (int)uVar10;" (assignment_expression "bVar40 = 0 < (int)uVar10" identifier = (binary_expression "0 < (int)uVar10" number_literal < (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) }) (else_clause "else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }" else (compound_statement "{\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }" { (expression_statement "iVar9 = local_d8[1];" (assignment_expression "iVar9 = local_d8[1]" identifier = (subscript_expression "local_d8[1]" identifier [ number_literal ])) ;) (if_statement "if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }" if (parenthesized_expression "(iVar9 < *local_d8)" ( (binary_expression "iVar9 < *local_d8" identifier < (pointer_expression "*local_d8" * identifier)) )) (compound_statement "{\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }" { (expression_statement "local_d8[1] = iVar9 + 1;" (assignment_expression "local_d8[1] = iVar9 + 1" (subscript_expression "local_d8[1]" identifier [ number_literal ]) = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));" (assignment_expression "dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8))" identifier = (cast_expression "(double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8))" ( (type_descriptor "double" primitive_type) ) (call_expression "thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8))" identifier (argument_list "(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8))" ( (pointer_expression "*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8)" * (cast_expression "(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(local_d8 + 2) + (long)iVar9 * 8)" ( (binary_expression "*(long *)(local_d8 + 2) + (long)iVar9 * 8" (pointer_expression "*(long *)(local_d8 + 2)" * (cast_expression "(long *)(local_d8 + 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_d8 + 2)" ( (binary_expression "local_d8 + 2" identifier + number_literal) )))) + (binary_expression "(long)iVar9 * 8" (cast_expression "(long)iVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal)) )))) ))))) ;) }) (else_clause "else {\n            dVar41 = 0.0;\n          }" else (compound_statement "{\n            dVar41 = 0.0;\n          }" { (expression_statement "dVar41 = 0.0;" (assignment_expression "dVar41 = 0.0" identifier = number_literal) ;) }))) (if_statement "if (uVar10 != 0xffffffff) goto LAB_0013fb0a;" if (parenthesized_expression "(uVar10 != 0xffffffff)" ( (binary_expression "uVar10 != 0xffffffff" identifier != number_literal) )) (goto_statement "goto LAB_0013fb0a;" goto statement_identifier ;)) (labeled_statement "LAB_0013ec1b:\n          bVar40 = true;" statement_identifier : (expression_statement "bVar40 = true;" (assignment_expression "bVar40 = true" identifier = true) ;)) (expression_statement "uVar10 = 6;" (assignment_expression "uVar10 = 6" identifier = number_literal) ;) }))) (if_statement "if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }" if (parenthesized_expression "(dVar41 < 0.0)" ( (binary_expression "dVar41 < 0.0" identifier < number_literal) )) (compound_statement "{\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }" { (expression_statement "dVar41 = -dVar41;" (assignment_expression "dVar41 = -dVar41" identifier = (unary_expression "-dVar41" - identifier)) ;) (expression_statement "bVar7 = 0x2d;" (assignment_expression "bVar7 = 0x2d" identifier = number_literal) ;) })) (expression_statement "dVar42 = DAT_001fae78;" (assignment_expression "dVar42 = DAT_001fae78" identifier = identifier) ;) (if_statement "if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }" if (parenthesized_expression "((cVar33 != '\x03') || (!bVar40))" ( (binary_expression "(cVar33 != '\x03') || (!bVar40)" (parenthesized_expression "(cVar33 != '\x03')" ( (binary_expression "cVar33 != '\x03'" identifier != (char_literal "'\x03'" ' escape_sequence ')) )) || (parenthesized_expression "(!bVar40)" ( (unary_expression "!bVar40" ! identifier) ))) )) (compound_statement "{\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }" { (expression_statement "uVar19 = uVar10 & 0xfff;" (assignment_expression "uVar19 = uVar10 & 0xfff" identifier = (binary_expression "uVar10 & 0xfff" identifier & number_literal)) ;) (goto_statement "goto joined_r0x0013ec49;" goto statement_identifier ;) })) (expression_statement "uVar10 = uVar10 - 1;" (assignment_expression "uVar10 = uVar10 - 1" identifier = (binary_expression "uVar10 - 1" identifier - number_literal)) ;) (expression_statement "uVar19 = uVar10 & 0xfff;" (assignment_expression "uVar19 = uVar10 & 0xfff" identifier = (binary_expression "uVar10 & 0xfff" identifier & number_literal)) ;) (if_statement "if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }" if (parenthesized_expression "(uVar19 != 0)" ( (binary_expression "uVar19 != 0" identifier != number_literal) )) (compound_statement "{\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }" { (do_statement "do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);" do (compound_statement "{\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          }" { (expression_statement "dVar42 = dVar42 * DAT_001faf40;" (assignment_expression "dVar42 = dVar42 * DAT_001faf40" identifier = (binary_expression "dVar42 * DAT_001faf40" identifier * identifier)) ;) (expression_statement "uVar19 = uVar19 - 1;" (assignment_expression "uVar19 = uVar19 - 1" identifier = (binary_expression "uVar19 - 1" identifier - number_literal)) ;) (labeled_statement "joined_r0x0013ec49:" statement_identifier : (expression_statement "" ;)) }) while (parenthesized_expression "(uVar19 != 0)" ( (binary_expression "uVar19 != 0" identifier != number_literal) )) ;) (if_statement "if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }" if (parenthesized_expression "(cVar33 == '\x01')" ( (binary_expression "cVar33 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n            dVar41 = dVar42 + dVar41;\n          }" { (expression_statement "dVar41 = dVar42 + dVar41;" (assignment_expression "dVar41 = dVar42 + dVar41" identifier = (binary_expression "dVar42 + dVar41" identifier + identifier)) ;) })) })) (if_statement "if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }" if (parenthesized_expression "(NAN(dVar41))" ( (call_expression "NAN(dVar41)" identifier (argument_list "(dVar41)" ( identifier ))) )) (compound_statement "{\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }" { (expression_statement "pbVar24 = (byte *)(ulong)(uVar12 - 3);" (assignment_expression "pbVar24 = (byte *)(ulong)(uVar12 - 3)" identifier = (cast_expression "(byte *)(ulong)(uVar12 - 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(ulong)(uVar12 - 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar12 - 3)" ( (binary_expression "uVar12 - 3" identifier - number_literal) ))))) ;) (expression_statement "uVar37 = 3;" (assignment_expression "uVar37 = 3" identifier = number_literal) ;) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar38 = &DAT_001e98fc;" (assignment_expression "pbVar38 = &DAT_001e98fc" identifier = (pointer_expression "&DAT_001e98fc" & identifier)) ;) (goto_statement "goto LAB_0013f018;" goto statement_identifier ;) })) (expression_statement "uVar37 = 0;" (assignment_expression "uVar37 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }" if (parenthesized_expression "(0.0 < dVar41)" ( (binary_expression "0.0 < dVar41" number_literal < identifier) )) (compound_statement "{\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }" { (expression_statement "dVar3 = _DAT_001faf38;" (assignment_expression "dVar3 = _DAT_001faf38" identifier = identifier) ;) (if_statement "if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }" if (parenthesized_expression "(dVar41 < _DAT_001faf38)" ( (binary_expression "dVar41 < _DAT_001faf38" identifier < identifier) )) (compound_statement "{\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }" { (expression_statement "dVar3 = (double)_DAT_001fae18;" (assignment_expression "dVar3 = (double)_DAT_001fae18" identifier = (cast_expression "(double)_DAT_001fae18" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "bVar40 = true;" (assignment_expression "bVar40 = true" identifier = true) ;) (expression_statement "dVar4 = 1.0;" (assignment_expression "dVar4 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }" else (compound_statement "{\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }" { (do_statement "do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);" do (compound_statement "{\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            }" { (expression_statement "dVar4 = dVar3;" (assignment_expression "dVar4 = dVar3" identifier = identifier) ;) (expression_statement "uVar19 = (int)uVar37 + 100;" (assignment_expression "uVar19 = (int)uVar37 + 100" identifier = (binary_expression "(int)uVar37 + 100" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar37 = (ulong)uVar19;" (assignment_expression "uVar37 = (ulong)uVar19" identifier = (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "bVar40 = (int)uVar19 < 0x15f;" (assignment_expression "bVar40 = (int)uVar19 < 0x15f" identifier = (binary_expression "(int)uVar19 < 0x15f" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ;) (expression_statement "dVar3 = _DAT_001faf38 * dVar4;" (assignment_expression "dVar3 = _DAT_001faf38 * dVar4" identifier = (binary_expression "_DAT_001faf38 * dVar4" identifier * identifier)) ;) }) while (parenthesized_expression "(_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f)" ( (binary_expression "_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f" (binary_expression "_DAT_001faf38 * dVar4 <= dVar41" (binary_expression "_DAT_001faf38 * dVar4" identifier * identifier) <= identifier) && (binary_expression "(int)uVar19 < 0x15f" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) )) ;) (expression_statement "dVar3 = dVar4 * (double)_DAT_001fae18;" (assignment_expression "dVar3 = dVar4 * (double)_DAT_001fae18" identifier = (binary_expression "dVar4 * (double)_DAT_001fae18" identifier * (cast_expression "(double)_DAT_001fae18" ( (type_descriptor "double" primitive_type) ) identifier))) ;) }))) (if_statement "if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }" if (parenthesized_expression "((dVar3 <= dVar41) && (bVar40))" ( (binary_expression "(dVar3 <= dVar41) && (bVar40)" (parenthesized_expression "(dVar3 <= dVar41)" ( (binary_expression "dVar3 <= dVar41" identifier <= identifier) )) && (parenthesized_expression "(bVar40)" ( identifier ))) )) (compound_statement "{\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }" { (do_statement "do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);" do (compound_statement "{\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            }" { (expression_statement "dVar4 = dVar3;" (assignment_expression "dVar4 = dVar3" identifier = identifier) ;) (expression_statement "uVar19 = (int)uVar37 + 10;" (assignment_expression "uVar19 = (int)uVar37 + 10" identifier = (binary_expression "(int)uVar37 + 10" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar37 = (ulong)uVar19;" (assignment_expression "uVar37 = (ulong)uVar19" identifier = (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "bVar40 = (int)uVar19 < 0x15f;" (assignment_expression "bVar40 = (int)uVar19 < 0x15f" identifier = (binary_expression "(int)uVar19 < 0x15f" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ;) (expression_statement "dVar3 = dVar4 * (double)_DAT_001fae18;" (assignment_expression "dVar3 = dVar4 * (double)_DAT_001fae18" identifier = (binary_expression "dVar4 * (double)_DAT_001fae18" identifier * (cast_expression "(double)_DAT_001fae18" ( (type_descriptor "double" primitive_type) ) identifier))) ;) }) while (parenthesized_expression "(dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40)" ( (binary_expression "dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40" (binary_expression "dVar4 * (double)_DAT_001fae18 <= dVar41" (binary_expression "dVar4 * (double)_DAT_001fae18" identifier * (cast_expression "(double)_DAT_001fae18" ( (type_descriptor "double" primitive_type) ) identifier)) <= identifier) && identifier) )) ;) })) (expression_statement "dVar3 = (double)_DAT_001fae10;" (assignment_expression "dVar3 = (double)_DAT_001fae10" identifier = (cast_expression "(double)_DAT_001fae10" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (if_statement "if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }" if (parenthesized_expression "((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40))" ( (binary_expression "(dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)" (parenthesized_expression "(dVar4 * dVar3 <= dVar41)" ( (binary_expression "dVar4 * dVar3 <= dVar41" (binary_expression "dVar4 * dVar3" identifier * identifier) <= identifier) )) && (parenthesized_expression "(dVar6 = dVar4 * dVar3, bVar40)" ( (comma_expression "dVar6 = dVar4 * dVar3, bVar40" (assignment_expression "dVar6 = dVar4 * dVar3" identifier = (binary_expression "dVar4 * dVar3" identifier * identifier)) , identifier) ))) )) (compound_statement "{\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }" { (do_statement "do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);" do (compound_statement "{\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            }" { (expression_statement "dVar4 = dVar6;" (assignment_expression "dVar4 = dVar6" identifier = identifier) ;) (expression_statement "uVar19 = (int)uVar37 + 1;" (assignment_expression "uVar19 = (int)uVar37 + 1" identifier = (binary_expression "(int)uVar37 + 1" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar37 = (ulong)uVar19;" (assignment_expression "uVar37 = (ulong)uVar19" identifier = (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "dVar6 = dVar4 * dVar3;" (assignment_expression "dVar6 = dVar4 * dVar3" identifier = (binary_expression "dVar4 * dVar3" identifier * identifier)) ;) }) while (parenthesized_expression "((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41)" ( (binary_expression "(int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41" (binary_expression "(int)uVar19 < 0x15f" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) && (binary_expression "dVar4 * dVar3 <= dVar41" (binary_expression "dVar4 * dVar3" identifier * identifier) <= identifier)) )) ;) })) (for_statement "for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }" for ( (assignment_expression "dVar41 = dVar41 / dVar4" identifier = (binary_expression "dVar41 / dVar4" identifier / identifier)) ; (binary_expression "dVar41 < _DAT_001faf48" identifier < identifier) ; (assignment_expression "dVar41 = dVar41 * (double)_DAT_001fae1c" identifier = (binary_expression "dVar41 * (double)_DAT_001fae1c" identifier * (cast_expression "(double)_DAT_001fae1c" ( (type_descriptor "double" primitive_type) ) identifier))) ) (compound_statement "{\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }" { (expression_statement "uVar37 = (ulong)((int)uVar37 - 8);" (assignment_expression "uVar37 = (ulong)((int)uVar37 - 8)" identifier = (call_expression "(ulong)((int)uVar37 - 8)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((int)uVar37 - 8)" ( (binary_expression "(int)uVar37 - 8" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) )))) ;) })) (for_statement "for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }" for ( ; (binary_expression "dVar41 < 1.0" identifier < number_literal) ; (assignment_expression "dVar41 = dVar41 * dVar3" identifier = (binary_expression "dVar41 * dVar3" identifier * identifier)) ) (compound_statement "{\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }" { (expression_statement "uVar37 = (ulong)((int)uVar37 - 1);" (assignment_expression "uVar37 = (ulong)((int)uVar37 - 1)" identifier = (call_expression "(ulong)((int)uVar37 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((int)uVar37 - 1)" ( (binary_expression "(int)uVar37 - 1" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) )))) ;) })) (if_statement "if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }" if (parenthesized_expression "(0x15e < (int)uVar37)" ( (binary_expression "0x15e < (int)uVar37" number_literal < (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }" { (expression_statement "pbVar38 = local_88;" (assignment_expression "pbVar38 = local_88" identifier = identifier) ;) (expression_statement "pbVar13 = pbVar38 + (bVar7 != 0);" (assignment_expression "pbVar13 = pbVar38 + (bVar7 != 0)" identifier = (binary_expression "pbVar38 + (bVar7 != 0)" identifier + (parenthesized_expression "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )))) ;) (expression_statement "local_88[0] = bVar7;" (assignment_expression "local_88[0] = bVar7" (subscript_expression "local_88[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar13[0] = 0x49;" (assignment_expression "pbVar13[0] = 0x49" (subscript_expression "pbVar13[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar13[1] = 0x6e;" (assignment_expression "pbVar13[1] = 0x6e" (subscript_expression "pbVar13[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar13[2] = 0x66;" (assignment_expression "pbVar13[2] = 0x66" (subscript_expression "pbVar13[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar13[3] = 0;" (assignment_expression "pbVar13[3] = 0" (subscript_expression "pbVar13[3]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }" if (parenthesized_expression "(bVar7 == 0)" ( (binary_expression "bVar7 == 0" identifier == number_literal) )) (compound_statement "{\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }" { (expression_statement "pbVar24 = (byte *)(ulong)(uVar12 - 3);" (assignment_expression "pbVar24 = (byte *)(ulong)(uVar12 - 3)" identifier = (cast_expression "(byte *)(ulong)(uVar12 - 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(ulong)(uVar12 - 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar12 - 3)" ( (binary_expression "uVar12 - 3" identifier - number_literal) ))))) ;) (expression_statement "uVar37 = 3;" (assignment_expression "uVar37 = 3" identifier = number_literal) ;) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }" else (compound_statement "{\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }" { (expression_statement "pbVar24 = (byte *)(ulong)(uVar12 - 4);" (assignment_expression "pbVar24 = (byte *)(ulong)(uVar12 - 4)" identifier = (cast_expression "(byte *)(ulong)(uVar12 - 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(ulong)(uVar12 - 4)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar12 - 4)" ( (binary_expression "uVar12 - 4" identifier - number_literal) ))))) ;) (expression_statement "uVar37 = 4;" (assignment_expression "uVar37 = 4" identifier = number_literal) ;) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (goto_statement "goto LAB_0013f018;" goto statement_identifier ;) })) })) (expression_statement "local_c8 = (int)uVar37;" (assignment_expression "local_c8 = (int)uVar37" identifier = (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_b5 = bVar25;" (assignment_expression "local_b5 = bVar25" identifier = identifier) ;) (if_statement "if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }" if (parenthesized_expression "(cVar33 == '\x01')" ( (binary_expression "cVar33 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }" { (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (if_statement "if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }" if (parenthesized_expression "(-1 < local_c8)" ( (binary_expression "-1 < local_c8" number_literal < identifier) )) (compound_statement "{\n            iVar9 = local_c8;\n          }" { (expression_statement "iVar9 = local_c8;" (assignment_expression "iVar9 = local_c8" identifier = identifier) ;) })) (expression_statement "lVar23 = (long)iVar9;" (assignment_expression "lVar23 = (long)iVar9" identifier = (cast_expression "(long)iVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) }) (else_clause "else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }" else (compound_statement "{\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }" { (expression_statement "dVar41 = dVar42 + dVar41;" (assignment_expression "dVar41 = dVar42 + dVar41" identifier = (binary_expression "dVar42 + dVar41" identifier + identifier)) ;) (if_statement "if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }" if (parenthesized_expression "((double)_DAT_001fae10 <= dVar41)" ( (binary_expression "(double)_DAT_001fae10 <= dVar41" (cast_expression "(double)_DAT_001fae10" ( (type_descriptor "double" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }" { (expression_statement "dVar41 = dVar41 * DAT_001faf40;" (assignment_expression "dVar41 = dVar41 * DAT_001faf40" identifier = (binary_expression "dVar41 * DAT_001faf40" identifier * identifier)) ;) (expression_statement "uVar37 = (ulong)(local_c8 + 1);" (assignment_expression "uVar37 = (ulong)(local_c8 + 1)" identifier = (call_expression "(ulong)(local_c8 + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(local_c8 + 1)" ( (binary_expression "local_c8 + 1" identifier + number_literal) )))) ;) })) (expression_statement "local_c8 = (int)uVar37;" (assignment_expression "local_c8 = (int)uVar37" identifier = (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }" if (parenthesized_expression "(cVar33 == '\x03')" ( (binary_expression "cVar33 == '\x03'" identifier == (char_literal "'\x03'" ' escape_sequence ')) )) (compound_statement "{\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }" { (expression_statement "local_b5 = bVar35 ^ 1;" (assignment_expression "local_b5 = bVar35 ^ 1" identifier = (binary_expression "bVar35 ^ 1" identifier ^ number_literal)) ;) (if_statement "if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }" if (parenthesized_expression "((local_c8 < -4) || ((int)uVar10 < local_c8))" ( (binary_expression "(local_c8 < -4) || ((int)uVar10 < local_c8)" (parenthesized_expression "(local_c8 < -4)" ( (binary_expression "local_c8 < -4" identifier < number_literal) )) || (parenthesized_expression "((int)uVar10 < local_c8)" ( (binary_expression "(int)uVar10 < local_c8" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) ))) )) (compound_statement "{\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }" { (expression_statement "lVar23 = 0;" (assignment_expression "lVar23 = 0" identifier = number_literal) ;) (expression_statement "cVar33 = '\x02';" (assignment_expression "cVar33 = '\x02'" identifier = (char_literal "'\x02'" ' escape_sequence ')) ;) (expression_statement "local_c8 = 0;" (assignment_expression "local_c8 = 0" identifier = number_literal) ;) }) (else_clause "else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }" else (compound_statement "{\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }" { (expression_statement "uVar10 = uVar10 - local_c8;" (assignment_expression "uVar10 = uVar10 - local_c8" identifier = (binary_expression "uVar10 - local_c8" identifier - identifier)) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (if_statement "if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }" if (parenthesized_expression "(-1 < local_c8)" ( (binary_expression "-1 < local_c8" number_literal < identifier) )) (compound_statement "{\n                iVar9 = local_c8;\n              }" { (expression_statement "iVar9 = local_c8;" (assignment_expression "iVar9 = local_c8" identifier = identifier) ;) })) (expression_statement "cVar33 = '\x01';" (assignment_expression "cVar33 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "lVar23 = (long)iVar9;" (assignment_expression "lVar23 = (long)iVar9" identifier = (cast_expression "(long)iVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) }))) }) (else_clause "else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }" else (if_statement "if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }" if (parenthesized_expression "(cVar33 == '\x02')" ( (binary_expression "cVar33 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n            lVar23 = 0;\n            local_c8 = 0;\n          }" { (expression_statement "lVar23 = 0;" (assignment_expression "lVar23 = 0" identifier = number_literal) ;) (expression_statement "local_c8 = 0;" (assignment_expression "local_c8 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }" else (compound_statement "{\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }" { (expression_statement "cVar33 = '\x01';" (assignment_expression "cVar33 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (if_statement "if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }" if (parenthesized_expression "(-1 < local_c8)" ( (binary_expression "-1 < local_c8" number_literal < identifier) )) (compound_statement "{\n              iVar9 = local_c8;\n            }" { (expression_statement "iVar9 = local_c8;" (assignment_expression "iVar9 = local_c8" identifier = identifier) ;) })) (expression_statement "lVar23 = (long)iVar9;" (assignment_expression "lVar23 = (long)iVar9" identifier = (cast_expression "(long)iVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) }))))) }))) (expression_statement "lVar27 = (long)(int)uVar12;" (assignment_expression "lVar27 = (long)(int)uVar12" identifier = (cast_expression "(long)(int)uVar12" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }" if (parenthesized_expression "(lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47)" ( (binary_expression "lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47" (binary_expression "lVar23 + (int)uVar10 + 0xf + lVar27" (binary_expression "lVar23 + (int)uVar10 + 0xf" (binary_expression "lVar23 + (int)uVar10" identifier + (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal) + identifier) < number_literal) )) (compound_statement "{\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }" { (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar38 = local_88;" (assignment_expression "pbVar38 = local_88" identifier = identifier) ;) }) (else_clause "else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }" else (compound_statement "{\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }" { (expression_statement "pbVar38 = (byte *)FUN_0011bc10(param_1);" (assignment_expression "pbVar38 = (byte *)FUN_0011bc10(param_1)" identifier = (cast_expression "(byte *)FUN_0011bc10(param_1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0011bc10(param_1)" identifier (argument_list "(param_1)" ( identifier ))))) ;) (expression_statement "local_e0 = pbVar38;" (assignment_expression "local_e0 = pbVar38" identifier = identifier) ;) (if_statement "if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;" if (parenthesized_expression "(pbVar38 == (byte *)0x0)" ( (binary_expression "pbVar38 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto switchD_0013ea21_caseD_11;" goto statement_identifier ;)) }))) (expression_statement "iVar9 = (uint)bVar25 * 10 + 0x10;" (assignment_expression "iVar9 = (uint)bVar25 * 10 + 0x10" identifier = (binary_expression "(uint)bVar25 * 10 + 0x10" (binary_expression "(uint)bVar25 * 10" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + number_literal)) ;) (expression_statement "bVar40 = 0 < (int)uVar10;" (assignment_expression "bVar40 = 0 < (int)uVar10" identifier = (binary_expression "0 < (int)uVar10" number_literal < (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pbVar17 = pbVar38;" (assignment_expression "pbVar17 = pbVar38" identifier = identifier) ;) (expression_statement "pbVar13 = pbVar38 + 1;" (assignment_expression "pbVar13 = pbVar38 + 1" identifier = (binary_expression "pbVar38 + 1" identifier + number_literal)) ;) (if_statement "if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }" if (parenthesized_expression "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }" { (expression_statement "*pbVar38 = bVar7;" (assignment_expression "*pbVar38 = bVar7" (pointer_expression "*pbVar38" * identifier) = identifier) ;) (expression_statement "pbVar13 = pbVar38 + 2;" (assignment_expression "pbVar13 = pbVar38 + 2" identifier = (binary_expression "pbVar38 + 2" identifier + number_literal)) ;) (expression_statement "pbVar17 = pbVar38 + 1;" (assignment_expression "pbVar17 = pbVar38 + 1" identifier = (binary_expression "pbVar38 + 1" identifier + number_literal)) ;) })) (if_statement "if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }" if (parenthesized_expression "(local_c8 < 0)" ( (binary_expression "local_c8 < 0" identifier < number_literal) )) (compound_statement "{\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }" { (expression_statement "*pbVar17 = 0x30;" (assignment_expression "*pbVar17 = 0x30" (pointer_expression "*pbVar17" * identifier) = number_literal) ;) (expression_statement "uVar19 = local_c8 + 1;" (assignment_expression "uVar19 = local_c8 + 1" identifier = (binary_expression "local_c8 + 1" identifier + number_literal)) ;) (if_statement "if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }" if (parenthesized_expression "(bVar40 || (bVar35 != 0 || bVar25 != 0))" ( (binary_expression "bVar40 || (bVar35 != 0 || bVar25 != 0)" identifier || (parenthesized_expression "(bVar35 != 0 || bVar25 != 0)" ( (binary_expression "bVar35 != 0 || bVar25 != 0" (binary_expression "bVar35 != 0" identifier != number_literal) || (binary_expression "bVar25 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }" { (expression_statement "pbVar17 = pbVar13 + 1;" (assignment_expression "pbVar17 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar13 = 0x2e;" (assignment_expression "*pbVar13 = 0x2e" (pointer_expression "*pbVar13" * identifier) = number_literal) ;) (expression_statement "pbVar13 = pbVar17;" (assignment_expression "pbVar13 = pbVar17" identifier = identifier) ;) (if_statement "if (uVar19 == 0) goto LAB_0013edc4;" if (parenthesized_expression "(uVar19 == 0)" ( (binary_expression "uVar19 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0013edc4;" goto statement_identifier ;)) (labeled_statement "LAB_0013ed90:\n            pbVar17 = pbVar13;" statement_identifier : (expression_statement "pbVar17 = pbVar13;" (assignment_expression "pbVar17 = pbVar13" identifier = identifier) ;)) (do_statement "do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);" do (compound_statement "{\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            }" { (expression_statement "pbVar14 = pbVar17 + 1;" (assignment_expression "pbVar14 = pbVar17 + 1" identifier = (binary_expression "pbVar17 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar17 = 0x30;" (assignment_expression "*pbVar17 = 0x30" (pointer_expression "*pbVar17" * identifier) = number_literal) ;) (expression_statement "pbVar17 = pbVar14;" (assignment_expression "pbVar17 = pbVar14" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar14 != pbVar13 + (ulong)~uVar19 + 1)" ( (binary_expression "pbVar14 != pbVar13 + (ulong)~uVar19 + 1" identifier != (binary_expression "pbVar13 + (ulong)~uVar19 + 1" (binary_expression "pbVar13 + (ulong)~uVar19" identifier + (cast_expression "(ulong)~uVar19" ( (type_descriptor "ulong" type_identifier) ) (unary_expression "~uVar19" ~ identifier))) + number_literal)) )) ;) (expression_statement "uVar10 = (uVar10 - 1) + local_c8 + 2;" (assignment_expression "uVar10 = (uVar10 - 1) + local_c8 + 2" identifier = (binary_expression "(uVar10 - 1) + local_c8 + 2" (binary_expression "(uVar10 - 1) + local_c8" (parenthesized_expression "(uVar10 - 1)" ( (binary_expression "uVar10 - 1" identifier - number_literal) )) + identifier) + number_literal)) ;) (expression_statement "pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;" (assignment_expression "pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1" identifier = (binary_expression "pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1" (binary_expression "pbVar13 + (ulong)(uint)-(local_c8 + 2)" (binary_expression "pbVar13 + (ulong)(uint)" identifier + (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier )))) - (parenthesized_expression "(local_c8 + 2)" ( (binary_expression "local_c8 + 2" identifier + number_literal) ))) + number_literal)) ;) (labeled_statement "LAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }" statement_identifier : (if_statement "if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }" if (parenthesized_expression "(0 < (int)uVar10)" ( (binary_expression "0 < (int)uVar10" number_literal < (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }" { (expression_statement "pbVar17 = pbVar13;" (assignment_expression "pbVar17 = pbVar13" identifier = identifier) ;) (do_statement "do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);" do (compound_statement "{\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              }" { (while_statement "while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }" while (parenthesized_expression "(pbVar14 = pbVar17 + 1, 0 < iVar9)" ( (comma_expression "pbVar14 = pbVar17 + 1, 0 < iVar9" (assignment_expression "pbVar14 = pbVar17 + 1" identifier = (binary_expression "pbVar17 + 1" identifier + number_literal)) , (binary_expression "0 < iVar9" number_literal < identifier)) )) (compound_statement "{\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }" { (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "local_c8._0_1_ = (char)(int)ROUND(dVar41);" (assignment_expression "local_c8._0_1_ = (char)(int)ROUND(dVar41)" (field_expression "local_c8._0_1_" identifier . field_identifier) = (cast_expression "(char)(int)ROUND(dVar41)" ( (type_descriptor "char" primitive_type) ) (cast_expression "(int)ROUND(dVar41)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(dVar41)" identifier (argument_list "(dVar41)" ( identifier )))))) ;) (expression_statement "*pbVar17 = (char)local_c8 + 0x30;" (assignment_expression "*pbVar17 = (char)local_c8 + 0x30" (pointer_expression "*pbVar17" * identifier) = (binary_expression "(char)local_c8 + 0x30" (cast_expression "(char)local_c8" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;" (assignment_expression "dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10" identifier = (binary_expression "(dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10" (parenthesized_expression "(dVar41 - (double)(int)ROUND(dVar41))" ( (binary_expression "dVar41 - (double)(int)ROUND(dVar41)" identifier - (cast_expression "(double)(int)ROUND(dVar41)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)ROUND(dVar41)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(dVar41)" identifier (argument_list "(dVar41)" ( identifier )))))) )) * (cast_expression "(double)_DAT_001fae10" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "pbVar17 = pbVar14;" (assignment_expression "pbVar17 = pbVar14" identifier = identifier) ;) (if_statement "if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;" if (parenthesized_expression "(pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1)" ( (binary_expression "pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1" identifier == (binary_expression "pbVar13 + (ulong)(uVar10 - 1) + 1" (binary_expression "pbVar13 + (ulong)(uVar10 - 1)" identifier + (call_expression "(ulong)(uVar10 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar10 - 1)" ( (binary_expression "uVar10 - 1" identifier - number_literal) )))) + number_literal)) )) (goto_statement "goto LAB_0013ee39;" goto statement_identifier ;)) })) (expression_statement "*pbVar17 = 0x30;" (assignment_expression "*pbVar17 = 0x30" (pointer_expression "*pbVar17" * identifier) = number_literal) ;) (expression_statement "pbVar17 = pbVar14;" (assignment_expression "pbVar17 = pbVar14" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1)" ( (binary_expression "pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1" identifier != (binary_expression "pbVar13 + (ulong)(uVar10 - 1) + 1" (binary_expression "pbVar13 + (ulong)(uVar10 - 1)" identifier + (call_expression "(ulong)(uVar10 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar10 - 1)" ( (binary_expression "uVar10 - 1" identifier - number_literal) )))) + number_literal)) )) ;) (labeled_statement "LAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;" statement_identifier : (expression_statement "pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;" (assignment_expression "pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1" identifier = (binary_expression "pbVar13 + (ulong)(uVar10 - 1) + 1" (binary_expression "pbVar13 + (ulong)(uVar10 - 1)" identifier + (call_expression "(ulong)(uVar10 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar10 - 1)" ( (binary_expression "uVar10 - 1" identifier - number_literal) )))) + number_literal)) ;)) }))) (goto_statement "goto LAB_0013ee42;" goto statement_identifier ;) })) (if_statement "if (uVar19 != 0) goto LAB_0013ed90;" if (parenthesized_expression "(uVar19 != 0)" ( (binary_expression "uVar19 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0013ed90;" goto statement_identifier ;)) }) (else_clause "else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }" else (compound_statement "{\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }" { (expression_statement "pbVar13 = pbVar17 + (long)local_c8 + 1;" (assignment_expression "pbVar13 = pbVar17 + (long)local_c8 + 1" identifier = (binary_expression "pbVar17 + (long)local_c8 + 1" (binary_expression "pbVar17 + (long)local_c8" identifier + (cast_expression "(long)local_c8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) + number_literal)) ;) (do_statement "do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);" do (compound_statement "{\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          }" { (while_statement "while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }" while (parenthesized_expression "(pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9)" ( (comma_expression "pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9" (assignment_expression "pbVar14 = pbVar17" identifier = identifier) , (comma_expression "pbVar17 = pbVar14 + 1, 0 < iVar9" (assignment_expression "pbVar17 = pbVar14 + 1" identifier = (binary_expression "pbVar14 + 1" identifier + number_literal)) , (binary_expression "0 < iVar9" number_literal < identifier))) )) (compound_statement "{\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }" { (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "local_c8._0_1_ = (char)(int)ROUND(dVar41);" (assignment_expression "local_c8._0_1_ = (char)(int)ROUND(dVar41)" (field_expression "local_c8._0_1_" identifier . field_identifier) = (cast_expression "(char)(int)ROUND(dVar41)" ( (type_descriptor "char" primitive_type) ) (cast_expression "(int)ROUND(dVar41)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(dVar41)" identifier (argument_list "(dVar41)" ( identifier )))))) ;) (expression_statement "*pbVar14 = (char)local_c8 + 0x30;" (assignment_expression "*pbVar14 = (char)local_c8 + 0x30" (pointer_expression "*pbVar14" * identifier) = (binary_expression "(char)local_c8 + 0x30" (cast_expression "(char)local_c8" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;" (assignment_expression "dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10" identifier = (binary_expression "(dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10" (parenthesized_expression "(dVar41 - (double)(int)ROUND(dVar41))" ( (binary_expression "dVar41 - (double)(int)ROUND(dVar41)" identifier - (cast_expression "(double)(int)ROUND(dVar41)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)ROUND(dVar41)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(dVar41)" identifier (argument_list "(dVar41)" ( identifier )))))) )) * (cast_expression "(double)_DAT_001fae10" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (if_statement "if (pbVar17 == pbVar13) goto LAB_0013fe8d;" if (parenthesized_expression "(pbVar17 == pbVar13)" ( (binary_expression "pbVar17 == pbVar13" identifier == identifier) )) (goto_statement "goto LAB_0013fe8d;" goto statement_identifier ;)) })) (expression_statement "*pbVar14 = 0x30;" (assignment_expression "*pbVar14 = 0x30" (pointer_expression "*pbVar14" * identifier) = number_literal) ;) }) while (parenthesized_expression "(pbVar17 != pbVar13)" ( (binary_expression "pbVar17 != pbVar13" identifier != identifier) )) ;) (labeled_statement "LAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }" statement_identifier : (if_statement "if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }" if (parenthesized_expression "(bVar40 || (bVar35 != 0 || bVar25 != 0))" ( (binary_expression "bVar40 || (bVar35 != 0 || bVar25 != 0)" identifier || (parenthesized_expression "(bVar35 != 0 || bVar25 != 0)" ( (binary_expression "bVar35 != 0 || bVar25 != 0" (binary_expression "bVar35 != 0" identifier != number_literal) || (binary_expression "bVar25 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }" { (expression_statement "pbVar13 = pbVar14 + 2;" (assignment_expression "pbVar13 = pbVar14 + 2" identifier = (binary_expression "pbVar14 + 2" identifier + number_literal)) ;) (expression_statement "*pbVar17 = 0x2e;" (assignment_expression "*pbVar17 = 0x2e" (pointer_expression "*pbVar17" * identifier) = number_literal) ;) (goto_statement "goto LAB_0013edc4;" goto statement_identifier ;) }))) (labeled_statement "LAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }" statement_identifier : (if_statement "if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }" if (parenthesized_expression "((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0)))" ( (binary_expression "(local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))" (parenthesized_expression "(local_b5 != 0)" ( (binary_expression "local_b5 != 0" identifier != number_literal) )) && (parenthesized_expression "(bVar40 || (bVar35 != 0 || bVar25 != 0))" ( (binary_expression "bVar40 || (bVar35 != 0 || bVar25 != 0)" identifier || (parenthesized_expression "(bVar35 != 0 || bVar25 != 0)" ( (binary_expression "bVar35 != 0 || bVar25 != 0" (binary_expression "bVar35 != 0" identifier != number_literal) || (binary_expression "bVar25 != 0" identifier != number_literal)) ))) ))) )) (compound_statement "{\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }" { (while_statement "while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }" while (parenthesized_expression "(pbVar13[-1] == 0x30)" ( (binary_expression "pbVar13[-1] == 0x30" (subscript_expression "pbVar13[-1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }" { (expression_statement "pbVar13 = pbVar13 + -1;" (assignment_expression "pbVar13 = pbVar13 + -1" identifier = (binary_expression "pbVar13 + -1" identifier + number_literal)) ;) (expression_statement "*pbVar13 = 0;" (assignment_expression "*pbVar13 = 0" (pointer_expression "*pbVar13" * identifier) = number_literal) ;) })) (if_statement "if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }" if (parenthesized_expression "(pbVar13[-1] == 0x2e)" ( (binary_expression "pbVar13[-1] == 0x2e" (subscript_expression "pbVar13[-1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }" { (if_statement "if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }" if (parenthesized_expression "(bVar25 == 0)" ( (binary_expression "bVar25 == 0" identifier == number_literal) )) (compound_statement "{\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }" { (expression_statement "pbVar13[-1] = 0;" (assignment_expression "pbVar13[-1] = 0" (subscript_expression "pbVar13[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar13 = pbVar13 + -1;" (assignment_expression "pbVar13 = pbVar13 + -1" identifier = (binary_expression "pbVar13 + -1" identifier + number_literal)) ;) }) (else_clause "else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }" else (compound_statement "{\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }" { (expression_statement "*pbVar13 = 0x30;" (assignment_expression "*pbVar13 = 0x30" (pointer_expression "*pbVar13" * identifier) = number_literal) ;) (expression_statement "pbVar13 = pbVar13 + 1;" (assignment_expression "pbVar13 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) }))) })) }))) }))) (if_statement "if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }" if (parenthesized_expression "(cVar33 == '\x02')" ( (binary_expression "cVar33 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }" { (expression_statement "pbVar17 = pbVar13 + 2;" (assignment_expression "pbVar17 = pbVar13 + 2" identifier = (binary_expression "pbVar13 + 2" identifier + number_literal)) ;) (expression_statement "*pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];" (assignment_expression "*pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]]" (pointer_expression "*pbVar13" * identifier) = (subscript_expression ""0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]]" (string_literal ""0123456789ABCDEF0123456789abcdef"" " string_content ") [ (subscript_expression "(byte)(&DAT_001f5564)[lVar30 * 6]" (call_expression "(byte)(&DAT_001f5564)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(&DAT_001f5564)" ( (pointer_expression "&DAT_001f5564" & identifier) ))) [ (binary_expression "lVar30 * 6" identifier * number_literal) ]) ])) ;) (expression_statement "bVar25 = 0x2b;" (assignment_expression "bVar25 = 0x2b" identifier = number_literal) ;) (if_statement "if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }" if (parenthesized_expression "((int)uVar37 < 0)" ( (binary_expression "(int)uVar37 < 0" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }" { (expression_statement "uVar37 = (ulong)(uint)-(int)uVar37;" (assignment_expression "uVar37 = (ulong)(uint)-(int)uVar37" identifier = (binary_expression "(ulong)(uint)-(int)uVar37" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) - (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "bVar25 = 0x2d;" (assignment_expression "bVar25 = 0x2d" identifier = number_literal) ;) })) (expression_statement "pbVar13[1] = bVar25;" (assignment_expression "pbVar13[1] = bVar25" (subscript_expression "pbVar13[1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }" if (parenthesized_expression "(99 < (int)uVar37)" ( (binary_expression "99 < (int)uVar37" number_literal < (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }" { (expression_statement "pbVar17 = pbVar13 + 3;" (assignment_expression "pbVar17 = pbVar13 + 3" identifier = (binary_expression "pbVar13 + 3" identifier + number_literal)) ;) (expression_statement "pbVar13[2] = (char)(uVar37 / 100) + 0x30;" (assignment_expression "pbVar13[2] = (char)(uVar37 / 100) + 0x30" (subscript_expression "pbVar13[2]" identifier [ number_literal ]) = (binary_expression "(char)(uVar37 / 100) + 0x30" (cast_expression "(char)(uVar37 / 100)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar37 / 100)" ( (binary_expression "uVar37 / 100" identifier / number_literal) ))) + number_literal)) ;) (expression_statement "uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);" (assignment_expression "uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100)" identifier = (call_expression "(ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "((int)uVar37 + (int)(uVar37 / 100) * -100)" ( (binary_expression "(int)uVar37 + (int)(uVar37 / 100) * -100" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)(uVar37 / 100) * -100" (cast_expression "(int)(uVar37 / 100)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar37 / 100)" ( (binary_expression "uVar37 / 100" identifier / number_literal) ))) * number_literal)) )))) ;) })) (expression_statement "pbVar13 = pbVar17 + 2;" (assignment_expression "pbVar13 = pbVar17 + 2" identifier = (binary_expression "pbVar17 + 2" identifier + number_literal)) ;) (expression_statement "cVar18 = (char)(uVar37 / 10);" (assignment_expression "cVar18 = (char)(uVar37 / 10)" identifier = (cast_expression "(char)(uVar37 / 10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar37 / 10)" ( (binary_expression "uVar37 / 10" identifier / number_literal) )))) ;) (expression_statement "*pbVar17 = cVar18 + 0x30;" (assignment_expression "*pbVar17 = cVar18 + 0x30" (pointer_expression "*pbVar17" * identifier) = (binary_expression "cVar18 + 0x30" identifier + number_literal)) ;) (expression_statement "pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;" (assignment_expression "pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30" (subscript_expression "pbVar17[1]" identifier [ number_literal ]) = (binary_expression "(char)uVar37 + cVar18 * -10 + 0x30" (binary_expression "(char)uVar37 + cVar18 * -10" (cast_expression "(char)uVar37" ( (type_descriptor "char" primitive_type) ) identifier) + (binary_expression "cVar18 * -10" identifier * number_literal)) + number_literal)) ;) })) (expression_statement "*pbVar13 = 0;" (assignment_expression "*pbVar13 = 0" (pointer_expression "*pbVar13" * identifier) = number_literal) ;) (expression_statement "iVar9 = (int)((long)pbVar13 - (long)pbVar38);" (assignment_expression "iVar9 = (int)((long)pbVar13 - (long)pbVar38)" identifier = (cast_expression "(int)((long)pbVar13 - (long)pbVar38)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((long)pbVar13 - (long)pbVar38)" ( (binary_expression "(long)pbVar13 - (long)pbVar38" (cast_expression "(long)pbVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pbVar38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;" (assignment_expression "uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff" identifier = (binary_expression "(long)pbVar13 - (long)pbVar38 & 0xffffffff" (binary_expression "(long)pbVar13 - (long)pbVar38" (cast_expression "(long)pbVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pbVar38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) & number_literal)) ;) (if_statement "if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }" if (parenthesized_expression "(!(bool)(bVar39 & (bVar5 ^ 1U)))" ( (unary_expression "!(bool)(bVar39 & (bVar5 ^ 1U))" ! (cast_expression "(bool)(bVar39 & (bVar5 ^ 1U))" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar39 & (bVar5 ^ 1U))" ( (binary_expression "bVar39 & (bVar5 ^ 1U)" identifier & (parenthesized_expression "(bVar5 ^ 1U)" ( (binary_expression "bVar5 ^ 1U" identifier ^ number_literal) ))) )))) )) (compound_statement "{\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }" { (expression_statement "pbVar24 = (byte *)(ulong)(uVar12 - iVar9);" (assignment_expression "pbVar24 = (byte *)(ulong)(uVar12 - iVar9)" identifier = (cast_expression "(byte *)(ulong)(uVar12 - iVar9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(ulong)(uVar12 - iVar9)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar12 - iVar9)" ( (binary_expression "uVar12 - iVar9" identifier - identifier) ))))) ;) (goto_statement "goto LAB_0013f018;" goto statement_identifier ;) })) (if_statement "if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }" if (parenthesized_expression "(iVar9 < (int)uVar12)" ( (binary_expression "iVar9 < (int)uVar12" identifier < (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }" { (expression_statement "iVar9 = uVar12 - iVar9;" (assignment_expression "iVar9 = uVar12 - iVar9" identifier = (binary_expression "uVar12 - iVar9" identifier - identifier)) ;) (if_statement "if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }" if (parenthesized_expression "(iVar9 <= (int)uVar12)" ( (binary_expression "iVar9 <= (int)uVar12" identifier <= (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }" { (do_statement "do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);" do (compound_statement "{\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            }" { (expression_statement "pbVar38[lVar27] = pbVar38[lVar27 - iVar9];" (assignment_expression "pbVar38[lVar27] = pbVar38[lVar27 - iVar9]" (subscript_expression "pbVar38[lVar27]" identifier [ identifier ]) = (subscript_expression "pbVar38[lVar27 - iVar9]" identifier [ (binary_expression "lVar27 - iVar9" identifier - identifier) ])) ;) (expression_statement "lVar27 = lVar27 + -1;" (assignment_expression "lVar27 = lVar27 + -1" identifier = (binary_expression "lVar27 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar9 <= (int)lVar27)" ( (binary_expression "iVar9 <= (int)lVar27" identifier <= (cast_expression "(int)lVar27" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "pbVar13 = pbVar38 + (bVar7 != 0);" (assignment_expression "pbVar13 = pbVar38 + (bVar7 != 0)" identifier = (binary_expression "pbVar38 + (bVar7 != 0)" identifier + (parenthesized_expression "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )))) ;) (do_statement "do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);" do (compound_statement "{\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          }" { (expression_statement "*pbVar13 = 0x30;" (assignment_expression "*pbVar13 = 0x30" (pointer_expression "*pbVar13" * identifier) = number_literal) ;) (expression_statement "pbVar13 = pbVar13 + 1;" (assignment_expression "pbVar13 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (expression_statement "uVar37 = (ulong)pbVar24;" (assignment_expression "uVar37 = (ulong)pbVar24" identifier = (cast_expression "(ulong)pbVar24" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "(pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13)" ( (binary_expression "pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13" (binary_expression "pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1" (binary_expression "pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0)" (binary_expression "pbVar38 + (ulong)(iVar9 - 1)" identifier + (call_expression "(ulong)(iVar9 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar9 - 1)" ( (binary_expression "iVar9 - 1" identifier - number_literal) )))) + (call_expression "(ulong)(bVar7 != 0)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )))) + number_literal) != identifier) )) ;) })) (goto_statement "goto LAB_0013fd63;" goto statement_identifier ;)) (case_statement "case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;" case (char_literal "'\x04'" ' escape_sequence ') : (if_statement "if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }" if (parenthesized_expression "(local_b6 != 0)" ( (binary_expression "local_b6 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }" { (labeled_statement "LAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);" statement_identifier : (expression_statement "FUN_0013e580(param_1,pbVar38,0);" (call_expression "FUN_0013e580(param_1,pbVar38,0)" identifier (argument_list "(param_1,pbVar38,0)" ( identifier , identifier , number_literal ))) ;)) (break_statement "break;" break ;) })) (expression_statement "uVar11 = *(undefined4 *)(param_1 + 3);" (assignment_expression "uVar11 = *(undefined4 *)(param_1 + 3)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 3)" * (cast_expression "(undefined4 *)(param_1 + 3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = *param_3;" (assignment_expression "uVar10 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }" if (parenthesized_expression "(uVar10 < 0x30)" ( (binary_expression "uVar10 < 0x30" identifier < number_literal) )) (compound_statement "{\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }" { (expression_statement "puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));" (assignment_expression "puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4))" identifier = (cast_expression "(undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4))" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar10 + *(long *)(param_3 + 4))" ( (binary_expression "(ulong)uVar10 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier) + (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "*param_3 = uVar10 + 8;" (assignment_expression "*param_3 = uVar10 + 8" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar10 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }" else (compound_statement "{\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }" { (expression_statement "puVar26 = *(undefined8 **)(param_3 + 2);" (assignment_expression "puVar26 = *(undefined8 **)(param_3 + 2)" identifier = (pointer_expression "*(undefined8 **)(param_3 + 2)" * (cast_expression "(undefined8 **)(param_3 + 2)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 **)(param_3 + 2) = puVar26 + 1;" (assignment_expression "*(undefined8 **)(param_3 + 2) = puVar26 + 1" (pointer_expression "*(undefined8 **)(param_3 + 2)" * (cast_expression "(undefined8 **)(param_3 + 2)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "puVar26 + 1" identifier + number_literal)) ;) }))) (expression_statement "*(undefined4 *)*puVar26 = uVar11;" (assignment_expression "*(undefined4 *)*puVar26 = uVar11" (pointer_expression "*(undefined4 *)*puVar26" * (cast_expression "(undefined4 *)*puVar26" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar26" * identifier))) = identifier) ;) (expression_statement "FUN_0013e580(param_1,pbVar38,0);" (call_expression "FUN_0013e580(param_1,pbVar38,0)" identifier (argument_list "(param_1,pbVar38,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "bVar7 = param_2[1];" (assignment_expression "bVar7 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (goto_statement "goto joined_r0x0013ebb8;" goto statement_identifier ;)) (case_statement "case '\x05':" case (char_literal "'\x05'" ' escape_sequence ') :) (case_statement "case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;" case (char_literal "'\x06'" ' escape_sequence ') : (if_statement "if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }" { (expression_statement "uVar19 = *param_3;" (assignment_expression "uVar19 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }" if (parenthesized_expression "(uVar19 < 0x30)" ( (binary_expression "uVar19 < 0x30" identifier < number_literal) )) (compound_statement "{\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }" { (expression_statement "*param_3 = uVar19 + 8;" (assignment_expression "*param_3 = uVar19 + 8" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar19 + 8" identifier + number_literal)) ;) (expression_statement "pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));" (assignment_expression "pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4))" identifier = (pointer_expression "*(byte **)((ulong)uVar19 + *(long *)(param_3 + 4))" * (cast_expression "(byte **)((ulong)uVar19 + *(long *)(param_3 + 4))" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((ulong)uVar19 + *(long *)(param_3 + 4))" ( (binary_expression "(ulong)uVar19 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) + (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) ))))) ;) }) (else_clause "else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }" else (compound_statement "{\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }" { (expression_statement "puVar26 = *(undefined8 **)(param_3 + 2);" (assignment_expression "puVar26 = *(undefined8 **)(param_3 + 2)" identifier = (pointer_expression "*(undefined8 **)(param_3 + 2)" * (cast_expression "(undefined8 **)(param_3 + 2)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 **)(param_3 + 2) = puVar26 + 1;" (assignment_expression "*(undefined8 **)(param_3 + 2) = puVar26 + 1" (pointer_expression "*(undefined8 **)(param_3 + 2)" * (cast_expression "(undefined8 **)(param_3 + 2)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "puVar26 + 1" identifier + number_literal)) ;) (expression_statement "pbVar38 = (byte *)*puVar26;" (assignment_expression "pbVar38 = (byte *)*puVar26" identifier = (cast_expression "(byte *)*puVar26" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar26" * identifier))) ;) }))) (if_statement "if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;" if (parenthesized_expression "(pbVar38 == (byte *)0x0)" ( (binary_expression "pbVar38 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0013fb9a;" goto statement_identifier ;)) (if_statement "if (cVar33 != '\x06') goto LAB_0013f840;" if (parenthesized_expression "(cVar33 != '\x06')" ( (binary_expression "cVar33 != '\x06'" identifier != (char_literal "'\x06'" ' escape_sequence ')) )) (goto_statement "goto LAB_0013f840;" goto statement_identifier ;)) (expression_statement "local_e0 = pbVar38;" (assignment_expression "local_e0 = pbVar38" identifier = identifier) ;) (if_statement "if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;" if (parenthesized_expression "(((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10))))" ( (binary_expression "((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))" (parenthesized_expression "((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0))" ( (binary_expression "(*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)" (parenthesized_expression "(*(int *)(param_1 + 3) != 0)" ( (binary_expression "*(int *)(param_1 + 3) != 0" (pointer_expression "*(int *)(param_1 + 3)" * (cast_expression "(int *)(param_1 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) != number_literal) )) || (parenthesized_expression "(*(int *)((long)param_1 + 0x14) == 0)" ( (binary_expression "*(int *)((long)param_1 + 0x14) == 0" (pointer_expression "*(int *)((long)param_1 + 0x14)" * (cast_expression "(int *)((long)param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x14)" ( (binary_expression "(long)param_1 + 0x14" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == number_literal) ))) )) || (parenthesized_expression "((uVar12 != 0 || (-1 < (int)uVar10)))" ( (parenthesized_expression "(uVar12 != 0 || (-1 < (int)uVar10))" ( (binary_expression "uVar12 != 0 || (-1 < (int)uVar10)" (binary_expression "uVar12 != 0" identifier != number_literal) || (parenthesized_expression "(-1 < (int)uVar10)" ( (binary_expression "-1 < (int)uVar10" number_literal < (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) ))) )) (goto_statement "goto joined_r0x0013fbae;" goto statement_identifier ;)) (if_statement "if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }" if (parenthesized_expression "(*(char *)((long)param_1 + 0x1c) == '\0')" ( (binary_expression "*(char *)((long)param_1 + 0x1c) == '\0'" (pointer_expression "*(char *)((long)param_1 + 0x1c)" * (cast_expression "(char *)((long)param_1 + 0x1c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x1c)" ( (binary_expression "(long)param_1 + 0x1c" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }" { (expression_statement "param_1[1] = pbVar38;" (assignment_expression "param_1[1] = pbVar38" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar11 = (*DAT_0021f288)(pbVar38);" (assignment_expression "uVar11 = (*DAT_0021f288)(pbVar38)" identifier = (call_expression "(*DAT_0021f288)(pbVar38)" (parenthesized_expression "(*DAT_0021f288)" ( (pointer_expression "*DAT_0021f288" * identifier) )) (argument_list "(pbVar38)" ( identifier )))) ;) (expression_statement "*(undefined4 *)(param_1 + 2) = uVar11;" (assignment_expression "*(undefined4 *)(param_1 + 2) = uVar11" (pointer_expression "*(undefined4 *)(param_1 + 2)" * (cast_expression "(undefined4 *)(param_1 + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) = identifier) ;) (expression_statement "sVar15 = strlen((char *)pbVar38);" (assignment_expression "sVar15 = strlen((char *)pbVar38)" identifier = (call_expression "strlen((char *)pbVar38)" identifier (argument_list "((char *)pbVar38)" ( (cast_expression "(char *)pbVar38" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "*(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;" (assignment_expression "*(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4" (pointer_expression "*(byte *)((long)param_1 + 0x1d)" * (cast_expression "(byte *)((long)param_1 + 0x1d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x1d)" ( (binary_expression "(long)param_1 + 0x1d" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((long)param_1 + 0x1d) | 4" (pointer_expression "*(byte *)((long)param_1 + 0x1d)" * (cast_expression "(byte *)((long)param_1 + 0x1d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x1d)" ( (binary_expression "(long)param_1 + 0x1d" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) | number_literal)) ;) (expression_statement "*(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;" (assignment_expression "*(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff" (pointer_expression "*(uint *)(param_1 + 3)" * (cast_expression "(uint *)(param_1 + 3)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = (binary_expression "(uint)sVar15 & 0x7fffffff" (cast_expression "(uint)sVar15" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "FUN_0013e580(param_1,pbVar38,0);" (call_expression "FUN_0013e580(param_1,pbVar38,0)" identifier (argument_list "(param_1,pbVar38,0)" ( identifier , identifier , number_literal ))) ;) (break_statement "break;" break ;) })) (labeled_statement "LAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);" statement_identifier : (expression_statement "sVar15 = strlen((char *)pbVar38);" (assignment_expression "sVar15 = strlen((char *)pbVar38)" identifier = (call_expression "strlen((char *)pbVar38)" identifier (argument_list "((char *)pbVar38)" ( (cast_expression "(char *)pbVar38" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;)) (expression_statement "uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);" (assignment_expression "uVar37 = (ulong)((uint)sVar15 & 0x7fffffff)" identifier = (call_expression "(ulong)((uint)sVar15 & 0x7fffffff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)sVar15 & 0x7fffffff)" ( (binary_expression "(uint)sVar15 & 0x7fffffff" (cast_expression "(uint)sVar15" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (goto_statement "goto LAB_0013fa12;" goto statement_identifier ;) })) (expression_statement "pbVar38 = (byte *)FUN_001408d0(local_d8);" (assignment_expression "pbVar38 = (byte *)FUN_001408d0(local_d8)" identifier = (cast_expression "(byte *)FUN_001408d0(local_d8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001408d0(local_d8)" identifier (argument_list "(local_d8)" ( identifier ))))) ;) (if_statement "if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }" if (parenthesized_expression "(pbVar38 == (byte *)0x0)" ( (binary_expression "pbVar38 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }" { (labeled_statement "LAB_0013fb9a:\n          local_e0 = (byte *)0x0;" statement_identifier : (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pbVar38 = &DAT_001e836f;" (assignment_expression "pbVar38 = &DAT_001e836f" identifier = (pointer_expression "&DAT_001e836f" & identifier)) ;) }) (else_clause "else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }" else (compound_statement "{\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }" { (labeled_statement "LAB_0013f840:\n          local_e0 = (byte *)0x0;" statement_identifier : (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }))) (labeled_statement "joined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;" statement_identifier : (if_statement "if (uVar10 == 0xffffffff) goto LAB_0013fbb4;" if (parenthesized_expression "(uVar10 == 0xffffffff)" ( (binary_expression "uVar10 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_0013fbb4;" goto statement_identifier ;))) (expression_statement "pbVar13 = pbVar38;" (assignment_expression "pbVar13 = pbVar38" identifier = identifier) ;) (if_statement "if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }" if (parenthesized_expression "(bVar25 != 0)" ( (binary_expression "bVar25 != 0" identifier != number_literal) )) (compound_statement "{\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }" { (while_statement "while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }" while (parenthesized_expression "((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))" ( (parenthesized_expression "(pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0))" ( (comma_expression "pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)" (assignment_expression "pbVar17 = pbVar13" identifier = identifier) , (comma_expression "uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)" (assignment_expression "uVar10 = uVar10 - 1" identifier = (binary_expression "uVar10 - 1" identifier - number_literal)) , (binary_expression "uVar10 != 0xffffffff && (*pbVar17 != 0)" (binary_expression "uVar10 != 0xffffffff" identifier != number_literal) && (parenthesized_expression "(*pbVar17 != 0)" ( (binary_expression "*pbVar17 != 0" (pointer_expression "*pbVar17" * identifier) != number_literal) ))))) )) )) (compound_statement "{\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }" { (expression_statement "pbVar13 = pbVar17 + 1;" (assignment_expression "pbVar13 = pbVar17 + 1" identifier = (binary_expression "pbVar17 + 1" identifier + number_literal)) ;) (if_statement "if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }" if (parenthesized_expression "(0xbf < *pbVar17)" ( (binary_expression "0xbf < *pbVar17" number_literal < (pointer_expression "*pbVar17" * identifier)) )) (compound_statement "{\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }" { (expression_statement "bVar7 = pbVar17[1];" (assignment_expression "bVar7 = pbVar17[1]" identifier = (subscript_expression "pbVar17[1]" identifier [ number_literal ])) ;) (while_statement "while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }" while (parenthesized_expression "((bVar7 & 0xc0) == 0x80)" ( (binary_expression "(bVar7 & 0xc0) == 0x80" (parenthesized_expression "(bVar7 & 0xc0)" ( (binary_expression "bVar7 & 0xc0" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }" { (expression_statement "pbVar13 = pbVar13 + 1;" (assignment_expression "pbVar13 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (expression_statement "bVar7 = *pbVar13;" (assignment_expression "bVar7 = *pbVar13" identifier = (pointer_expression "*pbVar13" * identifier)) ;) })) })) })) (expression_statement "uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);" (assignment_expression "uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38)" identifier = (call_expression "(ulong)(uint)((int)pbVar17 - (int)pbVar38)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "((int)pbVar17 - (int)pbVar38)" ( (binary_expression "(int)pbVar17 - (int)pbVar38" (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar38" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "bVar25 = 1;" (assignment_expression "bVar25 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0013fa12;" goto statement_identifier ;) })) (if_statement "if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }" if (parenthesized_expression "((uVar10 == 0) || (*pbVar38 == 0))" ( (binary_expression "(uVar10 == 0) || (*pbVar38 == 0)" (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) || (parenthesized_expression "(*pbVar38 == 0)" ( (binary_expression "*pbVar38 == 0" (pointer_expression "*pbVar38" * identifier) == number_literal) ))) )) (compound_statement "{\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }" { (expression_statement "uVar37 = 0;" (assignment_expression "uVar37 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0013f018;" goto statement_identifier ;) })) (expression_statement "uVar28 = 1;" (assignment_expression "uVar28 = 1" identifier = number_literal) ;) (do_statement "do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);" do (compound_statement "{\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        }" { (expression_statement "uVar37 = uVar28 & 0xffffffff;" (assignment_expression "uVar37 = uVar28 & 0xffffffff" identifier = (binary_expression "uVar28 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if ((ulong)(uVar10 - 1) + 1 == uVar28) break;" if (parenthesized_expression "((ulong)(uVar10 - 1) + 1 == uVar28)" ( (binary_expression "(ulong)(uVar10 - 1) + 1 == uVar28" (binary_expression "(ulong)(uVar10 - 1) + 1" (call_expression "(ulong)(uVar10 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar10 - 1)" ( (binary_expression "uVar10 - 1" identifier - number_literal) ))) + number_literal) == identifier) )) (break_statement "break;" break ;)) (expression_statement "pbVar13 = pbVar38 + uVar28;" (assignment_expression "pbVar13 = pbVar38 + uVar28" identifier = (binary_expression "pbVar38 + uVar28" identifier + identifier)) ;) (expression_statement "uVar28 = uVar28 + 1;" (assignment_expression "uVar28 = uVar28 + 1" identifier = (binary_expression "uVar28 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pbVar13 != 0)" ( (binary_expression "*pbVar13 != 0" (pointer_expression "*pbVar13" * identifier) != number_literal) )) ;) (goto_statement "goto LAB_0013eff2;" goto statement_identifier ;)) (case_statement "case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;" case (char_literal "'\a'" ' escape_sequence ') : (expression_statement "local_88[0] = 0x25;" (assignment_expression "local_88[0] = 0x25" (subscript_expression "local_88[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar24 = (byte *)(ulong)(uVar12 - 1);" (assignment_expression "pbVar24 = (byte *)(ulong)(uVar12 - 1)" identifier = (cast_expression "(byte *)(ulong)(uVar12 - 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(ulong)(uVar12 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar12 - 1)" ( (binary_expression "uVar12 - 1" identifier - number_literal) ))))) ;) (expression_statement "pbVar38 = local_88;" (assignment_expression "pbVar38 = local_88" identifier = identifier) ;) (expression_statement "uVar37 = 1;" (assignment_expression "uVar37 = 1" identifier = number_literal) ;) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0013f018;" goto statement_identifier ;)) (case_statement "case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;" case (char_literal "'\b'" ' escape_sequence ') : (if_statement "if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }" { (expression_statement "uVar19 = *param_3;" (assignment_expression "uVar19 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }" if (parenthesized_expression "(uVar19 < 0x30)" ( (binary_expression "uVar19 < 0x30" identifier < number_literal) )) (compound_statement "{\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }" { (expression_statement "*param_3 = uVar19 + 8;" (assignment_expression "*param_3 = uVar19 + 8" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar19 + 8" identifier + number_literal)) ;) (expression_statement "uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));" (assignment_expression "uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4))" identifier = (pointer_expression "*(uint *)((ulong)uVar19 + *(long *)(param_3 + 4))" * (cast_expression "(uint *)((ulong)uVar19 + *(long *)(param_3 + 4))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar19 + *(long *)(param_3 + 4))" ( (binary_expression "(ulong)uVar19 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) + (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) ))))) ;) }) (else_clause "else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }" else (compound_statement "{\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }" { (expression_statement "puVar32 = *(uint **)(param_3 + 2);" (assignment_expression "puVar32 = *(uint **)(param_3 + 2)" identifier = (pointer_expression "*(uint **)(param_3 + 2)" * (cast_expression "(uint **)(param_3 + 2)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(uint **)(param_3 + 2) = puVar32 + 2;" (assignment_expression "*(uint **)(param_3 + 2) = puVar32 + 2" (pointer_expression "*(uint **)(param_3 + 2)" * (cast_expression "(uint **)(param_3 + 2)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "puVar32 + 2" identifier + number_literal)) ;) (expression_statement "uVar19 = *puVar32;" (assignment_expression "uVar19 = *puVar32" identifier = (pointer_expression "*puVar32" * identifier)) ;) }))) (if_statement "if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }" if (parenthesized_expression "(0x7f < uVar19)" ( (binary_expression "0x7f < uVar19" number_literal < identifier) )) (compound_statement "{\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }" { (expression_statement "cVar18 = ((byte)uVar19 & 0x3f) + 0x80;" (assignment_expression "cVar18 = ((byte)uVar19 & 0x3f) + 0x80" identifier = (binary_expression "((byte)uVar19 & 0x3f) + 0x80" (parenthesized_expression "((byte)uVar19 & 0x3f)" ( (binary_expression "(byte)uVar19 & 0x3f" (cast_expression "(byte)uVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) + number_literal)) ;) (expression_statement "bVar7 = (byte)(uVar19 >> 6);" (assignment_expression "bVar7 = (byte)(uVar19 >> 6)" identifier = (call_expression "(byte)(uVar19 >> 6)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar19 >> 6)" ( (binary_expression "uVar19 >> 6" identifier >> number_literal) )))) ;) (if_statement "if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }" if (parenthesized_expression "(uVar19 < 0x800)" ( (binary_expression "uVar19 < 0x800" identifier < number_literal) )) (compound_statement "{\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }" { (expression_statement "local_88[1] = cVar18;" (assignment_expression "local_88[1] = cVar18" (subscript_expression "local_88[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar37 = 2;" (assignment_expression "uVar37 = 2" identifier = number_literal) ;) (expression_statement "local_88[0] = bVar7 - 0x40;" (assignment_expression "local_88[0] = bVar7 - 0x40" (subscript_expression "local_88[0]" identifier [ number_literal ]) = (binary_expression "bVar7 - 0x40" identifier - number_literal)) ;) }) (else_clause "else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }" else (compound_statement "{\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }" { (expression_statement "local_88[2] = (bVar7 & 0x3f) + 0x80;" (assignment_expression "local_88[2] = (bVar7 & 0x3f) + 0x80" (subscript_expression "local_88[2]" identifier [ number_literal ]) = (binary_expression "(bVar7 & 0x3f) + 0x80" (parenthesized_expression "(bVar7 & 0x3f)" ( (binary_expression "bVar7 & 0x3f" identifier & number_literal) )) + number_literal)) ;) (expression_statement "bVar7 = (byte)(uVar19 >> 0xc);" (assignment_expression "bVar7 = (byte)(uVar19 >> 0xc)" identifier = (call_expression "(byte)(uVar19 >> 0xc)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar19 >> 0xc)" ( (binary_expression "uVar19 >> 0xc" identifier >> number_literal) )))) ;) (if_statement "if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }" if (parenthesized_expression "(uVar19 < 0x10000)" ( (binary_expression "uVar19 < 0x10000" identifier < number_literal) )) (compound_statement "{\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }" { (expression_statement "local_88[1] = local_88[2];" (assignment_expression "local_88[1] = local_88[2]" (subscript_expression "local_88[1]" identifier [ number_literal ]) = (subscript_expression "local_88[2]" identifier [ number_literal ])) ;) (expression_statement "uVar37 = 3;" (assignment_expression "uVar37 = 3" identifier = number_literal) ;) (expression_statement "local_88[0] = bVar7 - 0x20;" (assignment_expression "local_88[0] = bVar7 - 0x20" (subscript_expression "local_88[0]" identifier [ number_literal ]) = (binary_expression "bVar7 - 0x20" identifier - number_literal)) ;) (expression_statement "local_88[2] = cVar18;" (assignment_expression "local_88[2] = cVar18" (subscript_expression "local_88[2]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }" else (compound_statement "{\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }" { (expression_statement "uVar37 = 4;" (assignment_expression "uVar37 = 4" identifier = number_literal) ;) (expression_statement "local_88[3] = cVar18;" (assignment_expression "local_88[3] = cVar18" (subscript_expression "local_88[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;" (assignment_expression "local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10" (subscript_expression "local_88[0]" identifier [ number_literal ]) = (binary_expression "((byte)(uVar19 >> 0x12) & 7) - 0x10" (parenthesized_expression "((byte)(uVar19 >> 0x12) & 7)" ( (binary_expression "(byte)(uVar19 >> 0x12) & 7" (call_expression "(byte)(uVar19 >> 0x12)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar19 >> 0x12)" ( (binary_expression "uVar19 >> 0x12" identifier >> number_literal) ))) & number_literal) )) - number_literal)) ;) (expression_statement "local_88[1] = (bVar7 & 0x3f) + 0x80;" (assignment_expression "local_88[1] = (bVar7 & 0x3f) + 0x80" (subscript_expression "local_88[1]" identifier [ number_literal ]) = (binary_expression "(bVar7 & 0x3f) + 0x80" (parenthesized_expression "(bVar7 & 0x3f)" ( (binary_expression "bVar7 & 0x3f" identifier & number_literal) )) + number_literal)) ;) }))) }))) (goto_statement "goto LAB_0013fa75;" goto statement_identifier ;) })) (expression_statement "local_88[0] = (byte)uVar19;" (assignment_expression "local_88[0] = (byte)uVar19" (subscript_expression "local_88[0]" identifier [ number_literal ]) = (cast_expression "(byte)uVar19" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar37 = 1;" (assignment_expression "uVar37 = 1" identifier = number_literal) ;) (expression_statement "uVar19 = 1;" (assignment_expression "uVar19 = 1" identifier = number_literal) ;) }) (else_clause "else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }" else (compound_statement "{\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }" { (expression_statement "pbVar38 = (byte *)FUN_001408d0(local_d8);" (assignment_expression "pbVar38 = (byte *)FUN_001408d0(local_d8)" identifier = (cast_expression "(byte *)FUN_001408d0(local_d8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001408d0(local_d8)" identifier (argument_list "(local_d8)" ( identifier ))))) ;) (if_statement "if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }" if (parenthesized_expression "(pbVar38 == (byte *)0x0)" ( (binary_expression "pbVar38 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            local_88[0] = 0;\n          }" { (expression_statement "local_88[0] = 0;" (assignment_expression "local_88[0] = 0" (subscript_expression "local_88[0]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }" else (compound_statement "{\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }" { (expression_statement "local_88[0] = *pbVar38;" (assignment_expression "local_88[0] = *pbVar38" (subscript_expression "local_88[0]" identifier [ number_literal ]) = (pointer_expression "*pbVar38" * identifier)) ;) (if_statement "if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }" if (parenthesized_expression "((*pbVar38 & 0xc0) == 0xc0)" ( (binary_expression "(*pbVar38 & 0xc0) == 0xc0" (parenthesized_expression "(*pbVar38 & 0xc0)" ( (binary_expression "*pbVar38 & 0xc0" (pointer_expression "*pbVar38" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }" { (expression_statement "uVar28 = 1;" (assignment_expression "uVar28 = 1" identifier = number_literal) ;) (do_statement "do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);" do (compound_statement "{\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              }" { (expression_statement "uVar37 = uVar28 & 0xffffffff;" (assignment_expression "uVar37 = uVar28 & 0xffffffff" identifier = (binary_expression "uVar28 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;" if (parenthesized_expression "((pbVar38[uVar28] & 0xc0) != 0x80)" ( (binary_expression "(pbVar38[uVar28] & 0xc0) != 0x80" (parenthesized_expression "(pbVar38[uVar28] & 0xc0)" ( (binary_expression "pbVar38[uVar28] & 0xc0" (subscript_expression "pbVar38[uVar28]" identifier [ identifier ]) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0013fa75;" goto statement_identifier ;)) (expression_statement "local_88[uVar28] = pbVar38[uVar28];" (assignment_expression "local_88[uVar28] = pbVar38[uVar28]" (subscript_expression "local_88[uVar28]" identifier [ identifier ]) = (subscript_expression "pbVar38[uVar28]" identifier [ identifier ])) ;) (expression_statement "uVar28 = uVar28 + 1;" (assignment_expression "uVar28 = uVar28 + 1" identifier = (binary_expression "uVar28 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar28 != 4)" ( (binary_expression "uVar28 != 4" identifier != number_literal) )) ;) (expression_statement "uVar37 = 4;" (assignment_expression "uVar37 = 4" identifier = number_literal) ;) (goto_statement "goto LAB_0013fa75;" goto statement_identifier ;) })) }))) (expression_statement "uVar37 = 1;" (assignment_expression "uVar37 = 1" identifier = number_literal) ;) (labeled_statement "LAB_0013fa75:\n          uVar19 = (uint)uVar37;" statement_identifier : (expression_statement "uVar19 = (uint)uVar37;" (assignment_expression "uVar19 = (uint)uVar37" identifier = (cast_expression "(uint)uVar37" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) }))) (if_statement "if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }" if (parenthesized_expression "(1 < (int)uVar10)" ( (binary_expression "1 < (int)uVar10" number_literal < (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }" { (expression_statement "iVar9 = uVar10 - 1;" (assignment_expression "iVar9 = uVar10 - 1" identifier = (binary_expression "uVar10 - 1" identifier - number_literal)) ;) (expression_statement "uVar12 = uVar12 - iVar9;" (assignment_expression "uVar12 = uVar12 - iVar9" identifier = (binary_expression "uVar12 - iVar9" identifier - identifier)) ;) (if_statement "if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }" if (parenthesized_expression "(((int)uVar12 < 2) || (bVar5))" ( (binary_expression "((int)uVar12 < 2) || (bVar5)" (parenthesized_expression "((int)uVar12 < 2)" ( (binary_expression "(int)uVar12 < 2" (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(bVar5)" ( identifier ))) )) (compound_statement "{\n            local_e0 = (byte *)(ulong)uVar12;\n          }" { (expression_statement "local_e0 = (byte *)(ulong)uVar12;" (assignment_expression "local_e0 = (byte *)(ulong)uVar12" identifier = (cast_expression "(byte *)(ulong)uVar12" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) }) (else_clause "else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }" else (compound_statement "{\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }" { (expression_statement "FUN_0013e4b0(param_1,uVar12 - 1,0x20);" (call_expression "FUN_0013e4b0(param_1,uVar12 - 1,0x20)" identifier (argument_list "(param_1,uVar12 - 1,0x20)" ( identifier , (binary_expression "uVar12 - 1" identifier - number_literal) , number_literal ))) ;) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (do_statement "do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);" do (compound_statement "{\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          }" { (expression_statement "FUN_0013e580(param_1,local_88,uVar19);" (call_expression "FUN_0013e580(param_1,local_88,uVar19)" identifier (argument_list "(param_1,local_88,uVar19)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) ;) (expression_statement "uVar37 = (ulong)uVar19;" (assignment_expression "uVar37 = (ulong)uVar19" identifier = (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "pbVar24 = local_e0;" (assignment_expression "pbVar24 = local_e0" identifier = identifier) ;) (expression_statement "uVar12 = (uint)local_e0;" (assignment_expression "uVar12 = (uint)local_e0" identifier = (cast_expression "(uint)local_e0" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) })) (if_statement "if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }" if (parenthesized_expression "(0 < (int)uVar12)" ( (binary_expression "0 < (int)uVar12" number_literal < (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }" { (expression_statement "pbVar38 = local_88;" (assignment_expression "pbVar38 = local_88" identifier = identifier) ;) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar9 = (int)uVar37 + -1;" (assignment_expression "iVar9 = (int)uVar37 + -1" identifier = (binary_expression "(int)uVar37 + -1" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (goto_statement "goto LAB_0013efc6;" goto statement_identifier ;) })) (expression_statement "pbVar38 = local_88;" (assignment_expression "pbVar38 = local_88" identifier = identifier) ;) (expression_statement "FUN_0013e580(param_1,pbVar38,uVar37);" (call_expression "FUN_0013e580(param_1,pbVar38,uVar37)" identifier (argument_list "(param_1,pbVar38,uVar37)" ( identifier , identifier , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case '\t':" case (char_literal "'\t'" ' escape_sequence ') :) (case_statement "case '\n':" case (char_literal "'\n'" ' escape_sequence ') :) (case_statement "case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;" case (char_literal "'\x0e'" ' escape_sequence ') : (expression_statement "bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;" (assignment_expression "bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22" identifier = (binary_expression "(cVar33 != '\x0e') * '\x05' + 0x22" (binary_expression "(cVar33 != '\x0e') * '\x05'" (parenthesized_expression "(cVar33 != '\x0e')" ( (binary_expression "cVar33 != '\x0e'" identifier != (char_literal "'\x0e'" ' escape_sequence ')) )) * (char_literal "'\x05'" ' escape_sequence ')) + number_literal)) ;) (if_statement "if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }" { (expression_statement "uVar19 = *param_3;" (assignment_expression "uVar19 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }" if (parenthesized_expression "(uVar19 < 0x30)" ( (binary_expression "uVar19 < 0x30" identifier < number_literal) )) (compound_statement "{\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }" { (expression_statement "puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));" (assignment_expression "puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4))" identifier = (cast_expression "(undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4))" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar19 + *(long *)(param_3 + 4))" ( (binary_expression "(ulong)uVar19 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) + (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "*param_3 = uVar19 + 8;" (assignment_expression "*param_3 = uVar19 + 8" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar19 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }" else (compound_statement "{\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }" { (expression_statement "puVar26 = *(undefined8 **)(param_3 + 2);" (assignment_expression "puVar26 = *(undefined8 **)(param_3 + 2)" identifier = (pointer_expression "*(undefined8 **)(param_3 + 2)" * (cast_expression "(undefined8 **)(param_3 + 2)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 **)(param_3 + 2) = puVar26 + 1;" (assignment_expression "*(undefined8 **)(param_3 + 2) = puVar26 + 1" (pointer_expression "*(undefined8 **)(param_3 + 2)" * (cast_expression "(undefined8 **)(param_3 + 2)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "puVar26 + 1" identifier + number_literal)) ;) }))) (expression_statement "local_e0 = (byte *)*puVar26;" (assignment_expression "local_e0 = (byte *)*puVar26" identifier = (cast_expression "(byte *)*puVar26" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar26" * identifier))) ;) (if_statement "if (local_e0 == (byte *)0x0) goto LAB_0013eec9;" if (parenthesized_expression "(local_e0 == (byte *)0x0)" ( (binary_expression "local_e0 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0013eec9;" goto statement_identifier ;)) (labeled_statement "LAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;" statement_identifier : (if_statement "if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;" if (parenthesized_expression "((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))" ( (binary_expression "(uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0)" (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) && (parenthesized_expression "(bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0)" ( (comma_expression "bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0" (assignment_expression "bVar35 = *local_e0" identifier = (pointer_expression "*local_e0" * identifier)) , (comma_expression "pbVar13 = local_e0, bVar35 != 0" (assignment_expression "pbVar13 = local_e0" identifier = identifier) , (binary_expression "bVar35 != 0" identifier != number_literal))) ))) )) (goto_statement "goto LAB_0013f8fa;" goto statement_identifier ;))) (if_statement "if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }" if (parenthesized_expression "(cVar33 != '\n')" ( (binary_expression "cVar33 != '\n'" identifier != (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }" { (expression_statement "pbVar17 = local_88;" (assignment_expression "pbVar17 = local_88" identifier = identifier) ;) (expression_statement "uVar37 = 0;" (assignment_expression "uVar37 = 0" identifier = number_literal) ;) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar38 = pbVar17;" (assignment_expression "pbVar38 = pbVar17" identifier = identifier) ;) (goto_statement "goto LAB_0013fa0c;" goto statement_identifier ;) })) (expression_statement "pbVar38 = local_88;" (assignment_expression "pbVar38 = local_88" identifier = identifier) ;) (expression_statement "local_88[0] = bVar7;" (assignment_expression "local_88[0] = bVar7" (subscript_expression "local_88[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "lVar30 = 2;" (assignment_expression "lVar30 = 2" identifier = number_literal) ;) (expression_statement "uVar37 = 2;" (assignment_expression "uVar37 = 2" identifier = number_literal) ;) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar17 = local_88 + 1;" (assignment_expression "pbVar17 = local_88 + 1" identifier = (binary_expression "local_88 + 1" identifier + number_literal)) ;) (labeled_statement "LAB_0013fa06:\n          *pbVar17 = bVar7;" statement_identifier : (expression_statement "*pbVar17 = bVar7;" (assignment_expression "*pbVar17 = bVar7" (pointer_expression "*pbVar17" * identifier) = identifier) ;)) (expression_statement "pbVar17 = pbVar38 + lVar30;" (assignment_expression "pbVar17 = pbVar38 + lVar30" identifier = (binary_expression "pbVar38 + lVar30" identifier + identifier)) ;) }) (else_clause "else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }" else (compound_statement "{\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }" { (expression_statement "local_e0 = (byte *)FUN_001408d0(local_d8);" (assignment_expression "local_e0 = (byte *)FUN_001408d0(local_d8)" identifier = (cast_expression "(byte *)FUN_001408d0(local_d8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001408d0(local_d8)" identifier (argument_list "(local_d8)" ( identifier ))))) ;) (if_statement "if (local_e0 != (byte *)0x0) goto LAB_0013f8df;" if (parenthesized_expression "(local_e0 != (byte *)0x0)" ( (binary_expression "local_e0 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0013f8df;" goto statement_identifier ;)) (labeled_statement "LAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;" statement_identifier : (expression_statement "pbVar13 = (byte *)0x1e846d;" (assignment_expression "pbVar13 = (byte *)0x1e846d" identifier = (cast_expression "(byte *)0x1e846d" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (if_statement "if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }" if (parenthesized_expression "(cVar33 != '\n')" ( (binary_expression "cVar33 != '\n'" identifier != (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n            pbVar13 = &DAT_001e9900;\n          }" { (expression_statement "pbVar13 = &DAT_001e9900;" (assignment_expression "pbVar13 = &DAT_001e9900" identifier = (pointer_expression "&DAT_001e9900" & identifier)) ;) })) (if_statement "if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }" { (expression_statement "pbVar17 = local_88;" (assignment_expression "pbVar17 = local_88" identifier = identifier) ;) (expression_statement "uVar37 = 0;" (assignment_expression "uVar37 = 0" identifier = number_literal) ;) (expression_statement "pbVar38 = pbVar17;" (assignment_expression "pbVar38 = pbVar17" identifier = identifier) ;) }) (else_clause "else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }" else (compound_statement "{\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }" { (expression_statement "bVar35 = *pbVar13;" (assignment_expression "bVar35 = *pbVar13" identifier = (pointer_expression "*pbVar13" * identifier)) ;) (labeled_statement "LAB_0013f8fa:\n            iVar29 = 0;" statement_identifier : (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;)) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);" do (compound_statement "{\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            }" { (expression_statement "iVar31 = iVar9;" (assignment_expression "iVar31 = iVar9" identifier = identifier) ;) (if_statement "if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }" if (parenthesized_expression "(bVar7 == bVar35)" ( (binary_expression "bVar7 == bVar35" identifier == identifier) )) (compound_statement "{\n                iVar29 = iVar29 + 1;\n              }" { (expression_statement "iVar29 = iVar29 + 1;" (assignment_expression "iVar29 = iVar29 + 1" identifier = (binary_expression "iVar29 + 1" identifier + number_literal)) ;) }) (else_clause "else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }" else (if_statement "if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }" if (parenthesized_expression "(((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80))" ( (binary_expression "((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)" (parenthesized_expression "((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0))" ( (binary_expression "(bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)" (parenthesized_expression "(bVar25 != 0)" ( (binary_expression "bVar25 != 0" identifier != number_literal) )) && (parenthesized_expression "((bVar35 & 0xc0) == 0xc0)" ( (binary_expression "(bVar35 & 0xc0) == 0xc0" (parenthesized_expression "(bVar35 & 0xc0)" ( (binary_expression "bVar35 & 0xc0" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)" ( (binary_expression "((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80" (parenthesized_expression "((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U)" ( (binary_expression "(int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U" (cast_expression "(int)(char)pbVar13[(long)iVar9 + 1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[(long)iVar9 + 1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[(long)iVar9 + 1]" identifier [ (binary_expression "(long)iVar9 + 1" (cast_expression "(long)iVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ]))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }" { (expression_statement "lVar30 = (long)(iVar9 + 1);" (assignment_expression "lVar30 = (long)(iVar9 + 1)" identifier = (cast_expression "(long)(iVar9 + 1)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(iVar9 + 1)" ( (binary_expression "iVar9 + 1" identifier + number_literal) )))) ;) (do_statement "do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);" do (compound_statement "{\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                }" { (expression_statement "lVar23 = lVar30 + 1;" (assignment_expression "lVar23 = lVar30 + 1" identifier = (binary_expression "lVar30 + 1" identifier + number_literal)) ;) (expression_statement "iVar31 = (int)lVar30;" (assignment_expression "iVar31 = (int)lVar30" identifier = (cast_expression "(int)lVar30" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "lVar30 = lVar30 + 1;" (assignment_expression "lVar30 = lVar30 + 1" identifier = (binary_expression "lVar30 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80)" ( (binary_expression "((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80" (parenthesized_expression "((int)(char)pbVar13[lVar23] & 0xc0U)" ( (binary_expression "(int)(char)pbVar13[lVar23] & 0xc0U" (cast_expression "(int)(char)pbVar13[lVar23]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[lVar23]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[lVar23]" identifier [ identifier ]))) & number_literal) )) == number_literal) )) ;) })))) (expression_statement "iVar9 = iVar31 + 1;" (assignment_expression "iVar9 = iVar31 + 1" identifier = (binary_expression "iVar31 + 1" identifier + number_literal)) ;) (if_statement "if (uVar10 == 1) break;" if (parenthesized_expression "(uVar10 == 1)" ( (binary_expression "uVar10 == 1" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar10 = uVar10 - 1;" (assignment_expression "uVar10 = uVar10 - 1" identifier = (binary_expression "uVar10 - 1" identifier - number_literal)) ;) (expression_statement "bVar35 = pbVar13[iVar9];" (assignment_expression "bVar35 = pbVar13[iVar9]" identifier = (subscript_expression "pbVar13[iVar9]" identifier [ identifier ])) ;) }) while (parenthesized_expression "(bVar35 != 0)" ( (binary_expression "bVar35 != 0" identifier != number_literal) )) ;) (expression_statement "bVar40 = local_e0 != (byte *)0x0;" (assignment_expression "bVar40 = local_e0 != (byte *)0x0" identifier = (binary_expression "local_e0 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "bVar39 = bVar40 && cVar33 == '\n';" (assignment_expression "bVar39 = bVar40 && cVar33 == '\n'" identifier = (binary_expression "bVar40 && cVar33 == '\n'" identifier && (binary_expression "cVar33 == '\n'" identifier == (char_literal "'\n'" ' escape_sequence ')))) ;) (if_statement "if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }" if (parenthesized_expression "(iVar31 + 4 + iVar29 < 0x47)" ( (binary_expression "iVar31 + 4 + iVar29 < 0x47" (binary_expression "iVar31 + 4 + iVar29" (binary_expression "iVar31 + 4" identifier + number_literal) + identifier) < number_literal) )) (compound_statement "{\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }" { (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar38 = local_88;" (assignment_expression "pbVar38 = local_88" identifier = identifier) ;) }) (else_clause "else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }" else (compound_statement "{\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }" { (expression_statement "pbVar38 = (byte *)FUN_0011bc10(param_1);" (assignment_expression "pbVar38 = (byte *)FUN_0011bc10(param_1)" identifier = (cast_expression "(byte *)FUN_0011bc10(param_1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0011bc10(param_1)" identifier (argument_list "(param_1)" ( identifier ))))) ;) (expression_statement "local_e0 = pbVar38;" (assignment_expression "local_e0 = pbVar38" identifier = identifier) ;) (if_statement "if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;" if (parenthesized_expression "(pbVar38 == (byte *)0x0)" ( (binary_expression "pbVar38 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto switchD_0013ea21_caseD_11;" goto statement_identifier ;)) }))) (if_statement "if (bVar39) {\n              *pbVar38 = bVar7;\n            }" if (parenthesized_expression "(bVar39)" ( identifier )) (compound_statement "{\n              *pbVar38 = bVar7;\n            }" { (expression_statement "*pbVar38 = bVar7;" (assignment_expression "*pbVar38 = bVar7" (pointer_expression "*pbVar38" * identifier) = identifier) ;) })) (expression_statement "uVar37 = (ulong)bVar39;" (assignment_expression "uVar37 = (ulong)bVar39" identifier = (cast_expression "(ulong)bVar39" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "lVar30 = 0;" (assignment_expression "lVar30 = 0" identifier = number_literal) ;) (do_statement "do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);" do (compound_statement "{\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            }" { (while_statement "while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }" { (expression_statement "bVar35 = pbVar13[lVar30];" (assignment_expression "bVar35 = pbVar13[lVar30]" identifier = (subscript_expression "pbVar13[lVar30]" identifier [ identifier ])) ;) (expression_statement "iVar29 = (int)uVar37;" (assignment_expression "iVar29 = (int)uVar37" identifier = (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar37 = (ulong)(iVar29 + 1U);" (assignment_expression "uVar37 = (ulong)(iVar29 + 1U)" identifier = (call_expression "(ulong)(iVar29 + 1U)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar29 + 1U)" ( (binary_expression "iVar29 + 1U" identifier + number_literal) )))) ;) (expression_statement "pbVar38[iVar29] = bVar35;" (assignment_expression "pbVar38[iVar29] = bVar35" (subscript_expression "pbVar38[iVar29]" identifier [ identifier ]) = identifier) ;) (expression_statement "pbVar17 = pbVar38 + (int)(iVar29 + 1U);" (assignment_expression "pbVar17 = pbVar38 + (int)(iVar29 + 1U)" identifier = (binary_expression "pbVar38 + (int)(iVar29 + 1U)" identifier + (cast_expression "(int)(iVar29 + 1U)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar29 + 1U)" ( (binary_expression "iVar29 + 1U" identifier + number_literal) ))))) ;) (if_statement "if (bVar7 != bVar35) break;" if (parenthesized_expression "(bVar7 != bVar35)" ( (binary_expression "bVar7 != bVar35" identifier != identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar37 = (ulong)(iVar29 + 2U);" (assignment_expression "uVar37 = (ulong)(iVar29 + 2U)" identifier = (call_expression "(ulong)(iVar29 + 2U)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar29 + 2U)" ( (binary_expression "iVar29 + 2U" identifier + number_literal) )))) ;) (expression_statement "*pbVar17 = bVar7;" (assignment_expression "*pbVar17 = bVar7" (pointer_expression "*pbVar17" * identifier) = identifier) ;) (expression_statement "lVar30 = lVar30 + 1;" (assignment_expression "lVar30 = lVar30 + 1" identifier = (binary_expression "lVar30 + 1" identifier + number_literal)) ;) (expression_statement "pbVar17 = pbVar38 + (int)(iVar29 + 2U);" (assignment_expression "pbVar17 = pbVar38 + (int)(iVar29 + 2U)" identifier = (binary_expression "pbVar38 + (int)(iVar29 + 2U)" identifier + (cast_expression "(int)(iVar29 + 2U)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar29 + 2U)" ( (binary_expression "iVar29 + 2U" identifier + number_literal) ))))) ;) (if_statement "if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;" if (parenthesized_expression "(iVar9 <= (int)lVar30)" ( (binary_expression "iVar9 <= (int)lVar30" identifier <= (cast_expression "(int)lVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0013f9fa;" goto statement_identifier ;)) })) (expression_statement "lVar30 = lVar30 + 1;" (assignment_expression "lVar30 = lVar30 + 1" identifier = (binary_expression "lVar30 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)lVar30 < iVar9)" ( (binary_expression "(int)lVar30 < iVar9" (cast_expression "(int)lVar30" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) (labeled_statement "LAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }" statement_identifier : (if_statement "if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }" if (parenthesized_expression "(bVar40 && cVar33 == '\n')" ( (binary_expression "bVar40 && cVar33 == '\n'" identifier && (binary_expression "cVar33 == '\n'" identifier == (char_literal "'\n'" ' escape_sequence '))) )) (compound_statement "{\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }" { (expression_statement "uVar10 = (int)uVar37 + 1;" (assignment_expression "uVar10 = (int)uVar37 + 1" identifier = (binary_expression "(int)uVar37 + 1" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar37 = (ulong)uVar10;" (assignment_expression "uVar37 = (ulong)uVar10" identifier = (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "lVar30 = (long)(int)uVar10;" (assignment_expression "lVar30 = (long)(int)uVar10" identifier = (cast_expression "(long)(int)uVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (goto_statement "goto LAB_0013fa06;" goto statement_identifier ;) }))) }))) }))) (labeled_statement "LAB_0013fa0c:\n        *pbVar17 = 0;" statement_identifier : (expression_statement "*pbVar17 = 0;" (assignment_expression "*pbVar17 = 0" (pointer_expression "*pbVar17" * identifier) = number_literal) ;)) (labeled_statement "LAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }" statement_identifier : (if_statement "if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }" if (parenthesized_expression "(((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9))" ( (binary_expression "((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)" (parenthesized_expression "((0 < (int)uVar12) && (bVar25 != 0))" ( (binary_expression "(0 < (int)uVar12) && (bVar25 != 0)" (parenthesized_expression "(0 < (int)uVar12)" ( (binary_expression "0 < (int)uVar12" number_literal < (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(bVar25 != 0)" ( (binary_expression "bVar25 != 0" identifier != number_literal) ))) )) && (parenthesized_expression "(iVar9 = (int)uVar37 + -1, -1 < iVar9)" ( (comma_expression "iVar9 = (int)uVar37 + -1, -1 < iVar9" (assignment_expression "iVar9 = (int)uVar37 + -1" identifier = (binary_expression "(int)uVar37 + -1" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) , (binary_expression "-1 < iVar9" number_literal < identifier)) ))) )) (compound_statement "{\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }" { (labeled_statement "LAB_0013efc6:\n          lVar30 = (long)iVar9;" statement_identifier : (expression_statement "lVar30 = (long)iVar9;" (assignment_expression "lVar30 = (long)iVar9" identifier = (cast_expression "(long)iVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;)) (do_statement "do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);" do (compound_statement "{\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          }" { (expression_statement "pbVar13 = pbVar38 + lVar30;" (assignment_expression "pbVar13 = pbVar38 + lVar30" identifier = (binary_expression "pbVar38 + lVar30" identifier + identifier)) ;) (expression_statement "lVar30 = lVar30 + -1;" (assignment_expression "lVar30 = lVar30 + -1" identifier = (binary_expression "lVar30 + -1" identifier + number_literal)) ;) (expression_statement "uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);" (assignment_expression "uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80)" identifier = (binary_expression "(int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80)" (cast_expression "(int)pbVar24" ( (type_descriptor "int" primitive_type) ) identifier) + (call_expression "(uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((int)(char)*pbVar13 & 0xc0U) == 0x80)" ( (binary_expression "((int)(char)*pbVar13 & 0xc0U) == 0x80" (parenthesized_expression "((int)(char)*pbVar13 & 0xc0U)" ( (binary_expression "(int)(char)*pbVar13 & 0xc0U" (cast_expression "(int)(char)*pbVar13" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*pbVar13" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbVar13" * identifier))) & number_literal) )) == number_literal) ))))) ;) (expression_statement "pbVar24 = (byte *)(ulong)uVar12;" (assignment_expression "pbVar24 = (byte *)(ulong)uVar12" identifier = (cast_expression "(byte *)(ulong)uVar12" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) }) while (parenthesized_expression "(-1 < (int)lVar30)" ( (binary_expression "-1 < (int)lVar30" number_literal < (cast_expression "(int)lVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) }))) (labeled_statement "LAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);" statement_identifier : (expression_statement "pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);" (assignment_expression "pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37)" identifier = (cast_expression "(byte *)(ulong)(uVar12 - (int)uVar37)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(ulong)(uVar12 - (int)uVar37)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar12 - (int)uVar37)" ( (binary_expression "uVar12 - (int)uVar37" identifier - (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;)) (goto_statement "goto LAB_0013f018;" goto statement_identifier ;)) (case_statement "case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;" case (char_literal "'\v'" ' escape_sequence ') : (if_statement "if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;" if (parenthesized_expression "((*(byte *)((long)param_1 + 0x1d) & 1) == 0)" ( (binary_expression "(*(byte *)((long)param_1 + 0x1d) & 1) == 0" (parenthesized_expression "(*(byte *)((long)param_1 + 0x1d) & 1)" ( (binary_expression "*(byte *)((long)param_1 + 0x1d) & 1" (pointer_expression "*(byte *)((long)param_1 + 0x1d)" * (cast_expression "(byte *)((long)param_1 + 0x1d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x1d)" ( (binary_expression "(long)param_1 + 0x1d" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto switchD_0013ea21_caseD_11;" goto statement_identifier ;)) (expression_statement "uVar10 = *param_3;" (assignment_expression "uVar10 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }" if (parenthesized_expression "(uVar10 < 0x30)" ( (binary_expression "uVar10 < 0x30" identifier < number_literal) )) (compound_statement "{\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }" { (expression_statement "plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));" (assignment_expression "plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4))" identifier = (cast_expression "(long *)((ulong)uVar10 + *(long *)(param_3 + 4))" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar10 + *(long *)(param_3 + 4))" ( (binary_expression "(ulong)uVar10 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier) + (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "*param_3 = uVar10 + 8;" (assignment_expression "*param_3 = uVar10 + 8" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar10 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }" else (compound_statement "{\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }" { (expression_statement "plVar16 = *(long **)(param_3 + 2);" (assignment_expression "plVar16 = *(long **)(param_3 + 2)" identifier = (pointer_expression "*(long **)(param_3 + 2)" * (cast_expression "(long **)(param_3 + 2)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(long **)(param_3 + 2) = plVar16 + 1;" (assignment_expression "*(long **)(param_3 + 2) = plVar16 + 1" (pointer_expression "*(long **)(param_3 + 2)" * (cast_expression "(long **)(param_3 + 2)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "plVar16 + 1" identifier + number_literal)) ;) }))) (expression_statement "puVar26 = (undefined8 *)*plVar16;" (assignment_expression "puVar26 = (undefined8 *)*plVar16" identifier = (cast_expression "(undefined8 *)*plVar16" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar16" * identifier))) ;) (if_statement "if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;" if (parenthesized_expression "((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0))" ( (binary_expression "(puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)" (parenthesized_expression "(puVar26 == (undefined8 *)0x0)" ( (binary_expression "puVar26 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*(int *)(puVar26 + 1) == 0)" ( (binary_expression "*(int *)(puVar26 + 1) == 0" (pointer_expression "*(int *)(puVar26 + 1)" * (cast_expression "(int *)(puVar26 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 1)" ( (binary_expression "puVar26 + 1" identifier + number_literal) )))) == number_literal) ))) )) (goto_statement "goto LAB_0013f287;" goto statement_identifier ;)) (expression_statement "FUN_0013e580(param_1,*puVar26);" (call_expression "FUN_0013e580(param_1,*puVar26)" identifier (argument_list "(param_1,*puVar26)" ( identifier , (pointer_expression "*puVar26" * identifier) ))) ;) (expression_statement "FUN_0013e580(param_1,pbVar38,0);" (call_expression "FUN_0013e580(param_1,pbVar38,0)" identifier (argument_list "(param_1,pbVar38,0)" ( identifier , identifier , number_literal ))) ;) (break_statement "break;" break ;)) (case_statement "case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;" case (char_literal "'\f'" ' escape_sequence ') : (if_statement "if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;" if (parenthesized_expression "((*(byte *)((long)param_1 + 0x1d) & 1) == 0)" ( (binary_expression "(*(byte *)((long)param_1 + 0x1d) & 1) == 0" (parenthesized_expression "(*(byte *)((long)param_1 + 0x1d) & 1)" ( (binary_expression "*(byte *)((long)param_1 + 0x1d) & 1" (pointer_expression "*(byte *)((long)param_1 + 0x1d)" * (cast_expression "(byte *)((long)param_1 + 0x1d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x1d)" ( (binary_expression "(long)param_1 + 0x1d" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto switchD_0013ea21_caseD_11;" goto statement_identifier ;)) (expression_statement "uVar10 = *param_3;" (assignment_expression "uVar10 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }" if (parenthesized_expression "(uVar10 < 0x30)" ( (binary_expression "uVar10 < 0x30" identifier < number_literal) )) (compound_statement "{\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }" { (expression_statement "uVar12 = uVar10 + 8;" (assignment_expression "uVar12 = uVar10 + 8" identifier = (binary_expression "uVar10 + 8" identifier + number_literal)) ;) (expression_statement "*param_3 = uVar12;" (assignment_expression "*param_3 = uVar12" (pointer_expression "*param_3" * identifier) = identifier) ;) (expression_statement "lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);" (assignment_expression "lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10)" identifier = (pointer_expression "*(long *)(*(long *)(param_3 + 4) + (ulong)uVar10)" * (cast_expression "(long *)(*(long *)(param_3 + 4) + (ulong)uVar10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_3 + 4) + (ulong)uVar10)" ( (binary_expression "*(long *)(param_3 + 4) + (ulong)uVar10" (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) )))) + (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier)) ))))) ;) (if_statement "if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }" if (parenthesized_expression "(0x2f < uVar12)" ( (binary_expression "0x2f < uVar12" number_literal < identifier) )) (compound_statement "{\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }" { (expression_statement "plVar16 = *(long **)(param_3 + 2);" (assignment_expression "plVar16 = *(long **)(param_3 + 2)" identifier = (pointer_expression "*(long **)(param_3 + 2)" * (cast_expression "(long **)(param_3 + 2)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0013f46b;" goto statement_identifier ;) })) (expression_statement "plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);" (assignment_expression "plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12)" identifier = (cast_expression "(long *)(*(long *)(param_3 + 4) + (ulong)uVar12)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_3 + 4) + (ulong)uVar12)" ( (binary_expression "*(long *)(param_3 + 4) + (ulong)uVar12" (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) )))) + (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier)) )))) ;) (expression_statement "*param_3 = uVar10 + 0x10;" (assignment_expression "*param_3 = uVar10 + 0x10" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar10 + 0x10" identifier + number_literal)) ;) }) (else_clause "else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }" else (compound_statement "{\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }" { (expression_statement "plVar2 = *(long **)(param_3 + 2);" (assignment_expression "plVar2 = *(long **)(param_3 + 2)" identifier = (pointer_expression "*(long **)(param_3 + 2)" * (cast_expression "(long **)(param_3 + 2)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "plVar16 = plVar2 + 1;" (assignment_expression "plVar16 = plVar2 + 1" identifier = (binary_expression "plVar2 + 1" identifier + number_literal)) ;) (expression_statement "*(long **)(param_3 + 2) = plVar16;" (assignment_expression "*(long **)(param_3 + 2) = plVar16" (pointer_expression "*(long **)(param_3 + 2)" * (cast_expression "(long **)(param_3 + 2)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = identifier) ;) (expression_statement "lVar30 = *plVar2;" (assignment_expression "lVar30 = *plVar2" identifier = (pointer_expression "*plVar2" * identifier)) ;) (labeled_statement "LAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;" statement_identifier : (expression_statement "*(long **)(param_3 + 2) = plVar16 + 1;" (assignment_expression "*(long **)(param_3 + 2) = plVar16 + 1" (pointer_expression "*(long **)(param_3 + 2)" * (cast_expression "(long **)(param_3 + 2)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "plVar16 + 1" identifier + number_literal)) ;)) }))) (expression_statement "lVar23 = *plVar16;" (assignment_expression "lVar23 = *plVar16" identifier = (pointer_expression "*plVar16" * identifier)) ;) (if_statement "if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }" if (parenthesized_expression "(*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0)" ( (binary_expression "*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0" (pointer_expression "*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70)" * (cast_expression "(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x10 + (long)(int)lVar23 * 0x70)" ( (binary_expression "lVar30 + 0x10 + (long)(int)lVar23 * 0x70" (binary_expression "lVar30 + 0x10" identifier + number_literal) + (binary_expression "(long)(int)lVar23 * 0x70" (cast_expression "(long)(int)lVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)lVar23" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal)) )))) != number_literal) )) (compound_statement "{\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }" { (expression_statement "FUN_0013e5b0(param_1);" (call_expression "FUN_0013e5b0(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "FUN_0013e580(param_1,&DAT_001eaed8,1);" (call_expression "FUN_0013e580(param_1,&DAT_001eaed8,1)" identifier (argument_list "(param_1,&DAT_001eaed8,1)" ( identifier , (pointer_expression "&DAT_001eaed8" & identifier) , number_literal ))) ;) })) (expression_statement "FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));" (call_expression "FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70))" identifier (argument_list "(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70))" ( identifier , (pointer_expression "*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70)" * (cast_expression "(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x18 + (long)(int)lVar23 * 0x70)" ( (binary_expression "lVar30 + 0x18 + (long)(int)lVar23 * 0x70" (binary_expression "lVar30 + 0x18" identifier + number_literal) + (binary_expression "(long)(int)lVar23 * 0x70" (cast_expression "(long)(int)lVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)lVar23" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal)) )))) ))) ;) (expression_statement "FUN_0013e580(param_1,pbVar38,0);" (call_expression "FUN_0013e580(param_1,pbVar38,0)" identifier (argument_list "(param_1,pbVar38,0)" ( identifier , identifier , number_literal ))) ;) (break_statement "break;" break ;)) (case_statement "case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;" case (char_literal "'\r'" ' escape_sequence ') : (expression_statement "bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;" (assignment_expression "bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1" identifier = (binary_expression "(&DAT_001f5562)[lVar30 * 6] & 1" (subscript_expression "(&DAT_001f5562)[lVar30 * 6]" (parenthesized_expression "(&DAT_001f5562)" ( (pointer_expression "&DAT_001f5562" & identifier) )) [ (binary_expression "lVar30 * 6" identifier * number_literal) ]) & number_literal)) ;) (if_statement "if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }" if (parenthesized_expression "(((&DAT_001f5562)[lVar30 * 6] & 1) == 0)" ( (binary_expression "((&DAT_001f5562)[lVar30 * 6] & 1) == 0" (parenthesized_expression "((&DAT_001f5562)[lVar30 * 6] & 1)" ( (binary_expression "(&DAT_001f5562)[lVar30 * 6] & 1" (subscript_expression "(&DAT_001f5562)[lVar30 * 6]" (parenthesized_expression "(&DAT_001f5562)" ( (pointer_expression "&DAT_001f5562" & identifier) )) [ (binary_expression "lVar30 * 6" identifier * number_literal) ]) & number_literal) )) == number_literal) )) (compound_statement "{\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }" { (if_statement "if (local_b6 != 0) goto LAB_0013f695;" if (parenthesized_expression "(local_b6 != 0)" ( (binary_expression "local_b6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0013f695;" goto statement_identifier ;)) (expression_statement "uVar19 = *param_3;" (assignment_expression "uVar19 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0013f48c;" goto statement_identifier ;) })) (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" identifier = number_literal) ;) (if_statement "if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }" { (expression_statement "uVar19 = *param_3;" (assignment_expression "uVar19 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (goto_statement "goto LAB_0013f15e;" goto statement_identifier ;) })) (goto_statement "goto LAB_0013f4cf;" goto statement_identifier ;)) (case_statement "default:\n        goto switchD_0013ea21_caseD_11;" default : (goto_statement "goto switchD_0013ea21_caseD_11;" goto statement_identifier ;)) })) (expression_statement "bVar7 = param_2[1];" (assignment_expression "bVar7 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (labeled_statement "joined_r0x0013ebb8:\n      param_2 = param_2 + 1;" statement_identifier : (expression_statement "param_2 = param_2 + 1;" (assignment_expression "param_2 = param_2 + 1" identifier = (binary_expression "param_2 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )) ;) })) (labeled_statement "switchD_0013ea21_caseD_11:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }" statement_identifier : (if_statement "if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }" if (parenthesized_expression "(local_40 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nvoid sqlite3_str_vappendf(sqlite3_str *pAccum,char *fmt,__va_list_tag *ap)\n\n{\n  uint uVar1;\n  long lVar2;\n  double *pdVar3;\n  char *z;\n  long *plVar4;\n  double dVar5;\n  double dVar6;\n  bool bVar7;\n  int iVar8;\n  double dVar9;\n  byte bVar10;\n  byte bVar11;\n  uint ch;\n  int iVar12;\n  uint uVar13;\n  u32 uVar14;\n  byte *pbVar15;\n  size_t sVar16;\n  long *plVar17;\n  ulong uVar18;\n  sqlite3_int64 sVar19;\n  byte *pbVar20;\n  char cVar21;\n  uint uVar22;\n  int iVar23;\n  int *piVar24;\n  ulong *puVar25;\n  byte *pbVar26;\n  byte bVar27;\n  undefined8 *puVar28;\n  long lVar29;\n  byte *pbVar30;\n  int iVar31;\n  SrcList *pSrc;\n  int iVar32;\n  uint *puVar33;\n  long lVar34;\n  ulong uVar35;\n  uint uVar36;\n  etByte eVar37;\n  et_info *peVar38;\n  byte bVar39;\n  byte bVar40;\n  byte *pbVar41;\n  long in_FS_OFFSET;\n  bool bVar42;\n  bool bVar43;\n  double dVar44;\n  double dVar45;\n  byte *local_e0;\n  PrintfArguments *local_d8;\n  int local_c8;\n  byte local_b6;\n  byte local_b5;\n  char buf [70];\n  \n  lVar2 = *(long *)(in_FS_OFFSET + 0x28);\n  local_b6 = pAccum->printfFlags & 2;\n  local_d8 = (PrintfArguments *)0x0;\n  if ((pAccum->printfFlags & 2) != 0) {\n    uVar13 = ap->gp_offset;\n    if (uVar13 < 0x30) {\n      puVar28 = (undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area);\n      ap->gp_offset = uVar13 + 8;\n    }\n    else {\n      puVar28 = (undefined8 *)ap->overflow_arg_area;\n      ap->overflow_arg_area = puVar28 + 1;\n    }\n    local_d8 = (PrintfArguments *)*puVar28;\n    local_b6 = 1;\n  }\n  bVar10 = *fmt;\n  if (bVar10 != 0) {\n    pbVar41 = (byte *)0x0;\n    do {\n      pbVar15 = (byte *)fmt;\n      if (bVar10 != 0x25) {\n        pbVar15 = (byte *)strchrnul(fmt,0x25);\n        sqlite3_str_append(pAccum,fmt,(int)pbVar15 - (int)fmt);\n        pbVar41 = (byte *)fmt;\n        if (*pbVar15 == 0) break;\n      }\n      iVar12 = (int)(char)pbVar15[1];\n      if (pbVar15[1] == 0) {\n        sqlite3_str_append(pAccum,"%",1);\n        break;\n      }\n      bVar42 = false;\n      uVar13 = 0xffffffff;\n      bVar40 = 0;\n      bVar27 = 0;\n      bVar7 = false;\n      bVar39 = 0;\n      bVar10 = 0;\n      pbVar26 = (byte *)0x0;\n      pbVar15 = pbVar15 + 1;\n      do {\n        pbVar30 = pbVar15;\n        switch(iVar12) {\n        case 0x20:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar10 = 0x20;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x21:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar27 = 1;\n          pbVar30 = pbVar15 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar39 = 1;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar36 = ap->gp_offset;\n            if (uVar36 < 0x30) {\n              puVar33 = (uint *)((ulong)uVar36 + (long)ap->reg_save_area);\n              ap->gp_offset = uVar36 + 8;\n            }\n            else {\n              puVar33 = (uint *)ap->overflow_arg_area;\n              ap->overflow_arg_area = puVar33 + 2;\n            }\n            pbVar26 = (byte *)(ulong)*puVar33;\n          }\n          else {\n            uVar18 = getIntArg(local_d8);\n            pbVar26 = (byte *)(uVar18 & 0xffffffff);\n          }\n          iVar12 = (int)pbVar26;\n          if (iVar12 < 0) {\n            if (iVar12 == -0x80000000) {\n              bVar7 = true;\n              pbVar26 = (byte *)0x0;\n            }\n            else {\n              pbVar26 = (byte *)(ulong)(uint)-iVar12;\n              bVar7 = true;\n            }\n          }\n          iVar12 = (int)(char)pbVar15[1];\n          pbVar30 = pbVar15 + 1;\n          if ((iVar12 != 0x6c) && (iVar12 != 0x2e)) {\n            cVar21 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar10 = 0x2b;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2c:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar40 = 0x2c;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2d:\n          bVar7 = true;\n          iVar12 = (int)(char)pbVar15[1];\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2e:\n          iVar12 = (int)(char)pbVar15[1];\n          if (iVar12 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar13 = ap->gp_offset;\n              if (uVar13 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar13 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar13 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar36 = *puVar33;\n            }\n            else {\n              sVar19 = getIntArg(local_d8);\n              uVar36 = (uint)sVar19;\n            }\n            uVar13 = uVar36;\n            if (((int)uVar36 < 0) && (uVar13 = -uVar36, uVar36 == 0x80000000)) {\n              uVar13 = 0xffffffff;\n            }\n            iVar12 = (int)(char)pbVar15[2];\n            pbVar30 = pbVar15 + 2;\n          }\n          else {\n            pbVar30 = pbVar15 + 1;\n            uVar13 = 0;\n            if (iVar12 - 0x30U < 10) {\n              do {\n                pbVar30 = pbVar30 + 1;\n                uVar13 = iVar12 + -0x30 + uVar13 * 10;\n                iVar12 = (int)(char)*pbVar30;\n              } while (iVar12 - 0x30U < 10);\n              uVar13 = uVar13 & 0x7fffffff;\n            }\n          }\n          if (iVar12 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar12 = (int)(char)*pbVar30;\n          break;\n        case 0x30:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar42 = true;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar31 = (int)(char)pbVar15[1];\n          pbVar26 = (byte *)(ulong)(iVar12 - 0x30);\n          pbVar30 = pbVar15 + 1;\n          iVar12 = iVar31;\n          if (iVar31 - 0x30U < 10) {\n            do {\n              pbVar15 = pbVar30;\n              pbVar30 = pbVar15 + 1;\n              uVar36 = iVar31 + -0x30 + (int)pbVar26 * 10;\n              pbVar26 = (byte *)(ulong)uVar36;\n              iVar31 = (int)(char)pbVar15[1];\n            } while (iVar31 - 0x30U < 10);\n            pbVar26 = (byte *)(ulong)(uVar36 & 0x7fffffff);\n            iVar12 = iVar31;\n          }\n          if ((iVar12 != 0x2e) && (iVar12 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          pbVar30 = pbVar15 + 1;\n          iVar12 = (int)(char)pbVar15[1];\n          break;\n        case 0x6c:\n          iVar12 = (int)(char)pbVar15[1];\n          if (iVar12 == 0x6c) {\n            iVar12 = (int)(char)pbVar15[2];\n            cVar21 = '\x02';\n            pbVar30 = pbVar15 + 2;\n          }\n          else {\n            pbVar30 = pbVar15 + 1;\n            cVar21 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar15 = pbVar30;\n      } while (iVar12 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar21 = '\0';\nLAB_0013e9c2:\n      uVar36 = (uint)pbVar26;\n      peVar38 = fmtinfo;\n      iVar31 = 0;\n      iVar32 = 100;\n      while (peVar38 = peVar38 + 1, iVar32 != iVar12) {\n        iVar31 = iVar31 + 1;\n        if (iVar31 == 0x17) goto switchD_0013ea21_caseD_11;\n        iVar32 = (int)peVar38->fmttype;\n      }\n      eVar37 = fmtinfo[iVar31].type;\n      switch(eVar37) {\n      case '\0':\n      case '\x0f':\n        bVar40 = 0;\n      case '\x10':\n        if ((fmtinfo[iVar31].flags & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar18 = (ulong)*puVar33;\n              bVar10 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              bVar10 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar18 = getIntArg(local_d8);\n            bVar10 = 0;\n          }\nLAB_0013f51d:\n          if (uVar18 == 0) {\n            bVar39 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                piVar24 = (int *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                piVar24 = (int *)ap->overflow_arg_area;\n                ap->overflow_arg_area = piVar24 + 2;\n              }\n              uVar18 = (ulong)*piVar24;\n              if ((long)uVar18 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              if ((long)uVar18 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar18 = getIntArg(local_d8);\n          if (-1 < (long)uVar18) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar18 == 0x8000000000000000) {\n            bVar10 = 0x2d;\n            uVar18 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar18 = -uVar18;\n            bVar10 = 0x2d;\n          }\n        }\n        if ((bVar42) && (uVar22 = uVar36 - (bVar10 != 0), (int)uVar13 < (int)uVar22)) {\n          uVar13 = uVar22;\n        }\n        if ((int)uVar13 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar15 = (byte *)(buf + 0x45);\n        }\n        else {\n          sVar19 = (long)(int)uVar13 + 10;\n          if (bVar40 != 0) {\n            sVar19 = sVar19 + (int)uVar13 / 3;\n          }\n          local_e0 = (byte *)printfTempBuf(pAccum,sVar19);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar15 = local_e0 + (long)(int)sVar19 + -1;\n        }\n        pbVar26 = pbVar15;\n        if (eVar37 == '\x0f') {\n          if ((uVar18 % 10 < 4) && ((uVar18 / 10) % 10 != 1)) {\n            iVar12 = (int)(uVar18 % 10) * 2;\n            bVar27 = "thstndrd"[iVar12 + 1];\n            bVar11 = "thstndrd"[iVar12];\n          }\n          else {\n            bVar11 = 0x74;\n            bVar27 = 0x68;\n          }\n          pbVar15[-1] = bVar27;\n          pbVar26 = pbVar15 + -2;\n          pbVar15[-2] = bVar11;\n        }\n        bVar27 = fmtinfo[iVar31].charset;\n        uVar35 = (ulong)fmtinfo[iVar31].base;\n        do {\n          pbVar26 = pbVar26 + -1;\n          *pbVar26 = "0123456789ABCDEF0123456789abcdef"[uVar18 % uVar35 + (ulong)bVar27];\n          bVar42 = uVar35 <= uVar18;\n          uVar18 = uVar18 / uVar35;\n        } while (bVar42);\n        uVar22 = (int)pbVar15 - (int)pbVar26;\n        pbVar41 = pbVar26;\n        if ((int)uVar22 < (int)uVar13) {\n          pbVar41 = pbVar26 + ~(ulong)((uVar13 - 1) - uVar22);\n          do {\n            pbVar26 = pbVar26 + -1;\n            *pbVar26 = 0x30;\n            uVar22 = uVar13;\n          } while (pbVar26 != pbVar41);\n        }\n        if (bVar40 != 0) {\n          iVar32 = (int)(uVar22 - 1) / 3;\n          iVar12 = (int)(uVar22 - 1) % 3 + 1;\n          pbVar41 = pbVar41 + -(long)iVar32;\n          if (iVar32 != 0) {\n            iVar8 = 0;\n            while( true ) {\n              do {\n                iVar23 = iVar8;\n                pbVar41[iVar23] = pbVar41[iVar32 + iVar23];\n                iVar12 = iVar12 + -1;\n                iVar8 = iVar23 + 1;\n              } while (iVar12 != 0);\n              pbVar41[iVar23 + 1] = bVar40;\n              iVar32 = iVar32 + -1;\n              if (iVar32 == 0) break;\n              iVar12 = 3;\n              iVar8 = iVar23 + 2;\n            }\n          }\n        }\n        if (bVar10 != 0) {\n          pbVar41[-1] = bVar10;\n          pbVar41 = pbVar41 + -1;\n        }\n        if ((bVar39 != 0) && (bVar10 = fmtinfo[iVar31].prefix, bVar10 != 0)) {\n          pbVar26 = (byte *)("-x0" + bVar10);\n          bVar10 = "-x0"[bVar10];\n          while (bVar10 != 0) {\n            pbVar41 = pbVar41 + -1;\n            pbVar26 = pbVar26 + 1;\n            *pbVar41 = bVar10;\n            bVar10 = *pbVar26;\n          }\n        }\n        uVar22 = (int)pbVar15 - (int)pbVar41;\n        uVar36 = uVar36 - uVar22;\nLAB_0013f018:\n        if ((int)uVar36 < 1) {\nLAB_0013fd63:\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }\n        else if (bVar7) {\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n        }\n        else {\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }\n        if (local_e0 != (byte *)0x0) {\n          sqlite3DbFreeNN(pAccum->db,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar22 = ap->fp_offset;\n          if (uVar22 < 0xb0) {\n            ap->fp_offset = uVar22 + 0x10;\n            dVar44 = *(double *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            pdVar3 = (double *)ap->overflow_arg_area;\n            ap->overflow_arg_area = pdVar3 + 1;\n            dVar44 = *pdVar3;\n          }\n          if (uVar13 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar43 = 0 < (int)uVar13;\n        }\n        else {\n          iVar12 = local_d8->nUsed;\n          if (iVar12 < local_d8->nArg) {\n            local_d8->nUsed = iVar12 + 1;\n            dVar44 = sqlite3_value_double(local_d8->apArg[iVar12]);\n          }\n          else {\n            dVar44 = 0.0;\n          }\n          if (uVar13 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar43 = true;\n          uVar13 = 6;\n        }\n        if (dVar44 < 0.0) {\n          dVar44 = -dVar44;\n          bVar10 = 0x2d;\n        }\n        dVar45 = DAT_001fae78;\n        if ((eVar37 != '\x03') || (!bVar43)) {\n          uVar22 = uVar13 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar13 = uVar13 - 1;\n        uVar22 = uVar13 & 0xfff;\n        if (uVar22 != 0) {\n          do {\n            dVar45 = dVar45 * DAT_001faf40;\n            uVar22 = uVar22 - 1;\njoined_r0x0013ec49:\n          } while (uVar22 != 0);\n          if (eVar37 == '\x01') {\n            dVar44 = dVar45 + dVar44;\n          }\n        }\n        if (NAN(dVar44)) {\n          uVar36 = uVar36 - 3;\n          uVar22 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar41 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar18 = 0;\n        if (0.0 < dVar44) {\n          dVar5 = _DAT_001faf38;\n          if (dVar44 < _DAT_001faf38) {\n            dVar5 = (double)_DAT_001fae18;\n            bVar43 = true;\n            dVar6 = 1.0;\n          }\n          else {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 100;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = _DAT_001faf38 * dVar6;\n            } while (_DAT_001faf38 * dVar6 <= dVar44 && (int)uVar22 < 0x15f);\n            dVar5 = dVar6 * (double)_DAT_001fae18;\n          }\n          if ((dVar5 <= dVar44) && (bVar43)) {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 10;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = dVar6 * (double)_DAT_001fae18;\n            } while (dVar6 * (double)_DAT_001fae18 <= dVar44 && bVar43);\n          }\n          dVar5 = (double)_DAT_001fae10;\n          if ((dVar6 * dVar5 <= dVar44) && (dVar9 = dVar6 * dVar5, bVar43)) {\n            do {\n              dVar6 = dVar9;\n              uVar22 = (int)uVar18 + 1;\n              uVar18 = (ulong)uVar22;\n              dVar9 = dVar6 * dVar5;\n            } while ((int)uVar22 < 0x15f && dVar6 * dVar5 <= dVar44);\n          }\n          for (dVar44 = dVar44 / dVar6; dVar44 < _DAT_001faf48;\n              dVar44 = dVar44 * (double)_DAT_001fae1c) {\n            uVar18 = (ulong)((int)uVar18 - 8);\n          }\n          for (; dVar44 < 1.0; dVar44 = dVar44 * dVar5) {\n            uVar18 = (ulong)((int)uVar18 - 1);\n          }\n          if (0x15e < (int)uVar18) {\n            pbVar41 = (byte *)buf;\n            pbVar15 = pbVar41 + (bVar10 != 0);\n            buf[0] = bVar10;\n            pbVar15[0] = 0x49;\n            pbVar15[1] = 0x6e;\n            pbVar15[2] = 0x66;\n            pbVar15[3] = 0;\n            if (bVar10 == 0) {\n              uVar36 = uVar36 - 3;\n              uVar22 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              uVar36 = uVar36 - 4;\n              uVar22 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar18;\n        local_b5 = bVar27;\n        if (eVar37 == '\x01') {\n          iVar12 = 0;\n          if (-1 < local_c8) {\n            iVar12 = local_c8;\n          }\n          lVar34 = (long)iVar12;\n        }\n        else {\n          dVar44 = dVar45 + dVar44;\n          if ((double)_DAT_001fae10 <= dVar44) {\n            dVar44 = dVar44 * DAT_001faf40;\n            uVar18 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar18;\n          if (eVar37 == '\x03') {\n            local_b5 = bVar39 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar13 < local_c8)) {\n              lVar34 = 0;\n              eVar37 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar13 = uVar13 - local_c8;\n              iVar12 = 0;\n              if (-1 < local_c8) {\n                iVar12 = local_c8;\n              }\n              eVar37 = '\x01';\n              lVar34 = (long)iVar12;\n            }\n          }\n          else if (eVar37 == '\x02') {\n            lVar34 = 0;\n            local_c8 = 0;\n          }\n          else {\n            eVar37 = '\x01';\n            iVar12 = 0;\n            if (-1 < local_c8) {\n              iVar12 = local_c8;\n            }\n            lVar34 = (long)iVar12;\n          }\n        }\n        lVar29 = (long)(int)uVar36;\n        lVar34 = lVar34 + (int)uVar13 + 0xf + lVar29;\n        if (lVar34 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar41 = (byte *)buf;\n        }\n        else {\n          pbVar41 = (byte *)printfTempBuf(pAccum,lVar34);\n          local_e0 = pbVar41;\n          if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar12 = (uint)bVar27 * 10 + 0x10;\n        bVar43 = 0 < (int)uVar13;\n        pbVar26 = pbVar41;\n        pbVar15 = pbVar41 + 1;\n        if (bVar10 != 0) {\n          *pbVar41 = bVar10;\n          pbVar15 = pbVar41 + 2;\n          pbVar26 = pbVar41 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar26 = 0x30;\n          uVar22 = local_c8 + 1;\n          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar26 = pbVar15 + 1;\n            *pbVar15 = 0x2e;\n            pbVar15 = pbVar26;\n            if (uVar22 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar26 = pbVar15;\n            do {\n              pbVar20 = pbVar26 + 1;\n              *pbVar26 = 0x30;\n              pbVar26 = pbVar20;\n            } while (pbVar20 != pbVar15 + (ulong)~uVar22 + 1);\n            uVar13 = (uVar13 - 1) + local_c8 + 2;\n            pbVar15 = pbVar15 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar13) {\n              pbVar26 = pbVar15;\n              do {\n                while (pbVar20 = pbVar26 + 1, 0 < iVar12) {\n                  iVar12 = iVar12 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar44);\n                  *pbVar26 = (char)local_c8 + 0x30;\n                  dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n                  pbVar26 = pbVar20;\n                  if (pbVar20 == pbVar15 + (ulong)(uVar13 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar26 = 0x30;\n                pbVar26 = pbVar20;\n              } while (pbVar20 != pbVar15 + (ulong)(uVar13 - 1) + 1);\nLAB_0013ee39:\n              pbVar15 = pbVar15 + (ulong)(uVar13 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar22 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar15 = pbVar26 + (long)local_c8 + 1;\n          do {\n            while (pbVar20 = pbVar26, pbVar26 = pbVar20 + 1, 0 < iVar12) {\n              iVar12 = iVar12 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar44);\n              *pbVar20 = (char)local_c8 + 0x30;\n              dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n              if (pbVar26 == pbVar15) goto LAB_0013fe8d;\n            }\n            *pbVar20 = 0x30;\n          } while (pbVar26 != pbVar15);\nLAB_0013fe8d:\n          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar15 = pbVar20 + 2;\n            *pbVar26 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar43 || (bVar39 != 0 || bVar27 != 0))) {\n            while (pbVar15[-1] == 0x30) {\n              pbVar15 = pbVar15 + -1;\n              *pbVar15 = 0;\n            }\n            if (pbVar15[-1] == 0x2e) {\n              if (bVar27 == 0) {\n                pbVar15[-1] = 0;\n                pbVar15 = pbVar15 + -1;\n              }\n              else {\n                *pbVar15 = 0x30;\n                pbVar15 = pbVar15 + 1;\n              }\n            }\n          }\n        }\n        if (eVar37 == '\x02') {\n          pbVar26 = pbVar15 + 2;\n          *pbVar15 = "0123456789ABCDEF0123456789abcdef"[fmtinfo[iVar31].charset];\n          bVar27 = 0x2b;\n          if ((int)uVar18 < 0) {\n            uVar18 = (ulong)(uint)-(int)uVar18;\n            bVar27 = 0x2d;\n          }\n          pbVar15[1] = bVar27;\n          if (99 < (int)uVar18) {\n            pbVar26 = pbVar15 + 3;\n            pbVar15[2] = (char)(uVar18 / 100) + 0x30;\n            uVar18 = (ulong)(uint)((int)uVar18 + (int)(uVar18 / 100) * -100);\n          }\n          pbVar15 = pbVar26 + 2;\n          cVar21 = (char)(uVar18 / 10);\n          *pbVar26 = cVar21 + 0x30;\n          pbVar26[1] = (char)uVar18 + cVar21 * -10 + 0x30;\n        }\n        *pbVar15 = 0;\n        uVar22 = (int)pbVar15 - (int)pbVar41;\n        if (!(bool)(bVar42 & (bVar7 ^ 1U))) {\n          uVar36 = uVar36 - uVar22;\n          goto LAB_0013f018;\n        }\n        if ((int)uVar22 < (int)uVar36) {\n          iVar12 = uVar36 - uVar22;\n          if (iVar12 <= (int)uVar36) {\n            do {\n              pbVar41[lVar29] = pbVar41[lVar29 - iVar12];\n              lVar29 = lVar29 + -1;\n            } while (iVar12 <= (int)lVar29);\n          }\n          pbVar15 = pbVar41 + (bVar10 != 0);\n          do {\n            *pbVar15 = 0x30;\n            pbVar15 = pbVar15 + 1;\n            uVar22 = uVar36;\n          } while (pbVar41 + (ulong)(iVar12 - 1) + (ulong)(bVar10 != 0) + 1 != pbVar15);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          sqlite3_str_append(pAccum,(char *)pbVar41,0);\n          break;\n        }\n        uVar14 = pAccum->nChar;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          puVar28 = (undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area);\n          ap->gp_offset = uVar13 + 8;\n        }\n        else {\n          puVar28 = (undefined8 *)ap->overflow_arg_area;\n          ap->overflow_arg_area = puVar28 + 1;\n        }\n        *(u32 *)*puVar28 = uVar14;\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        bVar10 = pbVar30[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            ap->gp_offset = uVar22 + 8;\n            pbVar41 = *(byte **)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n            pbVar41 = (byte *)*puVar28;\n          }\n          if (pbVar41 == (byte *)0x0) goto LAB_0013fb9a;\n          if (eVar37 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar41;\n          if (((pAccum->nChar != 0) || (pAccum->mxAlloc == 0)) ||\n             ((uVar36 != 0 || (-1 < (int)uVar13)))) goto joined_r0x0013fbae;\n          if (pAccum->accError == '\0') {\n            pAccum->zText = (char *)pbVar41;\n            uVar14 = (*sqlite3Config.m.xSize)(pbVar41);\n            pAccum->nAlloc = uVar14;\n            sVar16 = strlen((char *)pbVar41);\n            pAccum->printfFlags = pAccum->printfFlags | 4;\n            pAccum->nChar = (uint)sVar16 & 0x7fffffff;\n            sqlite3_str_append(pAccum,(char *)pbVar41,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar16 = strlen((char *)pbVar41);\n          uVar22 = (uint)sVar16 & 0x7fffffff;\n          goto LAB_0013fa12;\n        }\n        pbVar41 = (byte *)getTextArg(local_d8);\n        if (pbVar41 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar41 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar13 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar15 = pbVar41;\n        if (bVar27 != 0) {\n          while ((pbVar20 = pbVar15, uVar13 = uVar13 - 1, uVar13 != 0xffffffff && (*pbVar20 != 0)))\n          {\n            pbVar15 = pbVar20 + 1;\n            if (0xbf < *pbVar20) {\n              bVar10 = pbVar20[1];\n              while ((bVar10 & 0xc0) == 0x80) {\n                pbVar15 = pbVar15 + 1;\n                bVar10 = *pbVar15;\n              }\n            }\n          }\n          uVar22 = (int)pbVar20 - (int)pbVar41;\n          bVar27 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar13 == 0) || (*pbVar41 == 0)) {\n          uVar22 = 0;\n          goto LAB_0013f018;\n        }\n        lVar34 = 1;\n        do {\n          uVar22 = (uint)lVar34;\n          if ((ulong)(uVar13 - 1) + 1 == lVar34) break;\n          pbVar15 = pbVar41 + lVar34;\n          lVar34 = lVar34 + 1;\n        } while (*pbVar15 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        buf[0] = '%';\n        uVar36 = uVar36 - 1;\n        pbVar41 = (byte *)buf;\n        uVar22 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            ap->gp_offset = uVar22 + 8;\n            uVar1 = *(uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            puVar33 = (uint *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar33 + 2;\n            uVar1 = *puVar33;\n          }\n          if (uVar1 < 0x80) {\n            buf[0] = (byte)uVar1;\n            uVar22 = 1;\n          }\n          else {\n            cVar21 = ((byte)uVar1 & 0x3f) + 0x80;\n            bVar10 = (byte)(uVar1 >> 6);\n            if (uVar1 < 0x800) {\n              buf[1] = cVar21;\n              uVar22 = 2;\n              buf[0] = bVar10 - 0x40;\n            }\n            else {\n              buf[2] = (bVar10 & 0x3f) + 0x80;\n              bVar10 = (byte)(uVar1 >> 0xc);\n              if (uVar1 < 0x10000) {\n                buf[1] = buf[2];\n                uVar22 = 3;\n                buf[0] = bVar10 - 0x20;\n                buf[2] = cVar21;\n              }\n              else {\n                uVar22 = 4;\n                buf[3] = cVar21;\n                buf[0] = ((byte)(uVar1 >> 0x12) & 7) - 0x10;\n                buf[1] = (bVar10 & 0x3f) + 0x80;\n              }\n            }\n          }\n        }\n        else {\n          pbVar41 = (byte *)getTextArg(local_d8);\n          if (pbVar41 == (byte *)0x0) {\n            buf[0] = '\0';\n          }\n          else {\n            buf[0] = *pbVar41;\n            if ((*pbVar41 & 0xc0) == 0xc0) {\n              lVar34 = 1;\n              do {\n                uVar22 = (uint)lVar34;\n                if ((pbVar41[lVar34] & 0xc0) != 0x80) goto joined_r0x0013fa79;\n                buf[lVar34] = pbVar41[lVar34];\n                lVar34 = lVar34 + 1;\n              } while (lVar34 != 4);\n              uVar22 = 4;\n              goto joined_r0x0013fa79;\n            }\n          }\n          uVar22 = 1;\n        }\njoined_r0x0013fa79:\n        if (1 < (int)uVar13) {\n          iVar12 = uVar13 - 1;\n          uVar36 = uVar36 - iVar12;\n          if (((int)uVar36 < 2) || (bVar7)) {\n            local_e0 = (byte *)(ulong)uVar36;\n          }\n          else {\n            sqlite3_str_appendchar(pAccum,uVar36 - 1,' ');\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            sqlite3_str_append(pAccum,buf,uVar22);\n            iVar12 = iVar12 + -1;\n          } while (iVar12 != 0);\n          pbVar26 = local_e0;\n          uVar36 = (uint)local_e0;\n        }\n        if (0 < (int)uVar36) {\n          pbVar41 = (byte *)buf;\n          local_e0 = (byte *)0x0;\n          iVar12 = uVar22 - 1;\n          goto LAB_0013efc6;\n        }\n        pbVar41 = (byte *)buf;\n        sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar10 = (eVar37 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            puVar28 = (undefined8 *)((ulong)uVar22 + (long)ap->reg_save_area);\n            ap->gp_offset = uVar22 + 8;\n          }\n          else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n          }\n          local_e0 = (byte *)*puVar28;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar13 != 0) && (bVar39 = *local_e0, pbVar15 = local_e0, bVar39 != 0))\n          goto LAB_0013f8fa;\n          if (eVar37 != '\n') {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar41 = pbVar20;\n            goto LAB_0013fa0c;\n          }\n          pbVar41 = (byte *)buf;\n          buf[0] = bVar10;\n          lVar34 = 2;\n          uVar22 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar20 = (byte *)(buf + 1);\nLAB_0013fa06:\n          *pbVar20 = bVar10;\n          pbVar20 = pbVar41 + lVar34;\n        }\n        else {\n          local_e0 = (byte *)getTextArg(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar15 = (byte *)0x1e846d;\n          if (eVar37 != '\n') {\n            pbVar15 = &DAT_001e9900;\n          }\n          if (uVar13 == 0) {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            pbVar41 = pbVar20;\n          }\n          else {\n            bVar39 = *pbVar15;\nLAB_0013f8fa:\n            iVar31 = 0;\n            iVar12 = 0;\n            do {\n              iVar32 = iVar12;\n              if (bVar10 == bVar39) {\n                iVar31 = iVar31 + 1;\n              }\n              else if (((bVar27 != 0) && ((bVar39 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U) == 0x80)) {\n                lVar34 = (long)(iVar12 + 1);\n                do {\n                  lVar29 = lVar34 + 1;\n                  iVar32 = (int)lVar34;\n                  lVar34 = lVar34 + 1;\n                } while (((int)(char)pbVar15[lVar29] & 0xc0U) == 0x80);\n              }\n              iVar12 = iVar32 + 1;\n              if (uVar13 == 1) break;\n              uVar13 = uVar13 - 1;\n              bVar39 = pbVar15[iVar12];\n            } while (bVar39 != 0);\n            bVar43 = local_e0 != (byte *)0x0;\n            iVar31 = iVar32 + 4 + iVar31;\n            bVar42 = bVar43 && eVar37 == '\n';\n            if (iVar31 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar41 = (byte *)buf;\n            }\n            else {\n              pbVar41 = (byte *)printfTempBuf(pAccum,(long)iVar31);\n              local_e0 = pbVar41;\n              if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar42) {\n              *pbVar41 = bVar10;\n            }\n            lVar34 = 0;\n            uVar13 = (uint)bVar42;\n            do {\n              while( true ) {\n                bVar39 = pbVar15[lVar34];\n                uVar22 = uVar13 + 1;\n                pbVar41[(int)uVar13] = bVar39;\n                pbVar20 = pbVar41 + (int)uVar22;\n                if (bVar10 != bVar39) break;\n                uVar22 = uVar13 + 2;\n                *pbVar20 = bVar10;\n                lVar34 = lVar34 + 1;\n                pbVar20 = pbVar41 + (int)uVar22;\n                uVar13 = uVar22;\n                if (iVar12 <= (int)lVar34) goto LAB_0013f9fa;\n              }\n              lVar34 = lVar34 + 1;\n              uVar13 = uVar22;\n            } while ((int)lVar34 < iVar12);\nLAB_0013f9fa:\n            if (bVar43 && eVar37 == '\n') {\n              uVar22 = uVar22 + 1;\n              lVar34 = (long)(int)uVar22;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar20 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar36) && (bVar27 != 0)) && (iVar12 = uVar22 - 1, -1 < iVar12)) {\nLAB_0013efc6:\n          lVar34 = (long)iVar12;\n          do {\n            pbVar15 = pbVar41 + lVar34;\n            lVar34 = lVar34 + -1;\n            uVar36 = (int)pbVar26 + (uint)(((int)(char)*pbVar15 & 0xc0U) == 0x80);\n            pbVar26 = (byte *)(ulong)uVar36;\n          } while (-1 < (int)lVar34);\n        }\nLAB_0013eff2:\n        uVar36 = uVar36 - uVar22;\n        goto LAB_0013f018;\n      case '\v':\n        if ((pAccum->printfFlags & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          plVar17 = (long *)((ulong)uVar13 + (long)ap->reg_save_area);\n          ap->gp_offset = uVar13 + 8;\n        }\n        else {\n          plVar17 = (long *)ap->overflow_arg_area;\n          ap->overflow_arg_area = plVar17 + 1;\n        }\n        puVar28 = (undefined8 *)*plVar17;\n        if ((puVar28 == (undefined8 *)0x0) || (*(int *)(puVar28 + 1) == 0)) goto LAB_0013f287;\n        sqlite3_str_append(pAccum,(char *)*puVar28,*(int *)(puVar28 + 1));\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        break;\n      case '\f':\n        if ((pAccum->printfFlags & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          uVar36 = uVar13 + 8;\n          ap->gp_offset = uVar36;\n          lVar34 = *(long *)((long)ap->reg_save_area + (ulong)uVar13);\n          if (0x2f < uVar36) {\n            plVar17 = (long *)ap->overflow_arg_area;\n            goto LAB_0013f46b;\n          }\n          plVar17 = (long *)((long)ap->reg_save_area + (ulong)uVar36);\n          ap->gp_offset = uVar13 + 0x10;\n        }\n        else {\n          plVar4 = (long *)ap->overflow_arg_area;\n          plVar17 = plVar4 + 1;\n          ap->overflow_arg_area = plVar17;\n          lVar34 = *plVar4;\nLAB_0013f46b:\n          ap->overflow_arg_area = plVar17 + 1;\n        }\n        lVar29 = *plVar17;\n        z = *(char **)(lVar34 + 0x10 + (long)(int)lVar29 * 0x70);\n        if (z != (char *)0x0) {\n          sqlite3_str_appendall(pAccum,z);\n          sqlite3_str_append(pAccum,".",1);\n        }\n        sqlite3_str_appendall(pAccum,*(char **)(lVar34 + 0x18 + (long)(int)lVar29 * 0x70));\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        break;\n      case '\r':\n        bVar40 = fmtinfo[iVar31].flags & 1;\n        if ((fmtinfo[iVar31].flags & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar22 = ap->gp_offset;\n          bVar40 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar40 = 0;\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar10 = pbVar30[1];\njoined_r0x0013ebb8:\n      fmt = (char *)(pbVar30 + 1);\n    } while (bVar10 != 0);\n  }\nswitchD_0013ea21_caseD_11:\n  if (lVar2 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}\n\n" comment (function_definition "void sqlite3_str_vappendf(sqlite3_str *pAccum,char *fmt,__va_list_tag *ap)\n\n{\n  uint uVar1;\n  long lVar2;\n  double *pdVar3;\n  char *z;\n  long *plVar4;\n  double dVar5;\n  double dVar6;\n  bool bVar7;\n  int iVar8;\n  double dVar9;\n  byte bVar10;\n  byte bVar11;\n  uint ch;\n  int iVar12;\n  uint uVar13;\n  u32 uVar14;\n  byte *pbVar15;\n  size_t sVar16;\n  long *plVar17;\n  ulong uVar18;\n  sqlite3_int64 sVar19;\n  byte *pbVar20;\n  char cVar21;\n  uint uVar22;\n  int iVar23;\n  int *piVar24;\n  ulong *puVar25;\n  byte *pbVar26;\n  byte bVar27;\n  undefined8 *puVar28;\n  long lVar29;\n  byte *pbVar30;\n  int iVar31;\n  SrcList *pSrc;\n  int iVar32;\n  uint *puVar33;\n  long lVar34;\n  ulong uVar35;\n  uint uVar36;\n  etByte eVar37;\n  et_info *peVar38;\n  byte bVar39;\n  byte bVar40;\n  byte *pbVar41;\n  long in_FS_OFFSET;\n  bool bVar42;\n  bool bVar43;\n  double dVar44;\n  double dVar45;\n  byte *local_e0;\n  PrintfArguments *local_d8;\n  int local_c8;\n  byte local_b6;\n  byte local_b5;\n  char buf [70];\n  \n  lVar2 = *(long *)(in_FS_OFFSET + 0x28);\n  local_b6 = pAccum->printfFlags & 2;\n  local_d8 = (PrintfArguments *)0x0;\n  if ((pAccum->printfFlags & 2) != 0) {\n    uVar13 = ap->gp_offset;\n    if (uVar13 < 0x30) {\n      puVar28 = (undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area);\n      ap->gp_offset = uVar13 + 8;\n    }\n    else {\n      puVar28 = (undefined8 *)ap->overflow_arg_area;\n      ap->overflow_arg_area = puVar28 + 1;\n    }\n    local_d8 = (PrintfArguments *)*puVar28;\n    local_b6 = 1;\n  }\n  bVar10 = *fmt;\n  if (bVar10 != 0) {\n    pbVar41 = (byte *)0x0;\n    do {\n      pbVar15 = (byte *)fmt;\n      if (bVar10 != 0x25) {\n        pbVar15 = (byte *)strchrnul(fmt,0x25);\n        sqlite3_str_append(pAccum,fmt,(int)pbVar15 - (int)fmt);\n        pbVar41 = (byte *)fmt;\n        if (*pbVar15 == 0) break;\n      }\n      iVar12 = (int)(char)pbVar15[1];\n      if (pbVar15[1] == 0) {\n        sqlite3_str_append(pAccum,"%",1);\n        break;\n      }\n      bVar42 = false;\n      uVar13 = 0xffffffff;\n      bVar40 = 0;\n      bVar27 = 0;\n      bVar7 = false;\n      bVar39 = 0;\n      bVar10 = 0;\n      pbVar26 = (byte *)0x0;\n      pbVar15 = pbVar15 + 1;\n      do {\n        pbVar30 = pbVar15;\n        switch(iVar12) {\n        case 0x20:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar10 = 0x20;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x21:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar27 = 1;\n          pbVar30 = pbVar15 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar39 = 1;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar36 = ap->gp_offset;\n            if (uVar36 < 0x30) {\n              puVar33 = (uint *)((ulong)uVar36 + (long)ap->reg_save_area);\n              ap->gp_offset = uVar36 + 8;\n            }\n            else {\n              puVar33 = (uint *)ap->overflow_arg_area;\n              ap->overflow_arg_area = puVar33 + 2;\n            }\n            pbVar26 = (byte *)(ulong)*puVar33;\n          }\n          else {\n            uVar18 = getIntArg(local_d8);\n            pbVar26 = (byte *)(uVar18 & 0xffffffff);\n          }\n          iVar12 = (int)pbVar26;\n          if (iVar12 < 0) {\n            if (iVar12 == -0x80000000) {\n              bVar7 = true;\n              pbVar26 = (byte *)0x0;\n            }\n            else {\n              pbVar26 = (byte *)(ulong)(uint)-iVar12;\n              bVar7 = true;\n            }\n          }\n          iVar12 = (int)(char)pbVar15[1];\n          pbVar30 = pbVar15 + 1;\n          if ((iVar12 != 0x6c) && (iVar12 != 0x2e)) {\n            cVar21 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar10 = 0x2b;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2c:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar40 = 0x2c;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2d:\n          bVar7 = true;\n          iVar12 = (int)(char)pbVar15[1];\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2e:\n          iVar12 = (int)(char)pbVar15[1];\n          if (iVar12 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar13 = ap->gp_offset;\n              if (uVar13 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar13 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar13 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar36 = *puVar33;\n            }\n            else {\n              sVar19 = getIntArg(local_d8);\n              uVar36 = (uint)sVar19;\n            }\n            uVar13 = uVar36;\n            if (((int)uVar36 < 0) && (uVar13 = -uVar36, uVar36 == 0x80000000)) {\n              uVar13 = 0xffffffff;\n            }\n            iVar12 = (int)(char)pbVar15[2];\n            pbVar30 = pbVar15 + 2;\n          }\n          else {\n            pbVar30 = pbVar15 + 1;\n            uVar13 = 0;\n            if (iVar12 - 0x30U < 10) {\n              do {\n                pbVar30 = pbVar30 + 1;\n                uVar13 = iVar12 + -0x30 + uVar13 * 10;\n                iVar12 = (int)(char)*pbVar30;\n              } while (iVar12 - 0x30U < 10);\n              uVar13 = uVar13 & 0x7fffffff;\n            }\n          }\n          if (iVar12 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar12 = (int)(char)*pbVar30;\n          break;\n        case 0x30:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar42 = true;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar31 = (int)(char)pbVar15[1];\n          pbVar26 = (byte *)(ulong)(iVar12 - 0x30);\n          pbVar30 = pbVar15 + 1;\n          iVar12 = iVar31;\n          if (iVar31 - 0x30U < 10) {\n            do {\n              pbVar15 = pbVar30;\n              pbVar30 = pbVar15 + 1;\n              uVar36 = iVar31 + -0x30 + (int)pbVar26 * 10;\n              pbVar26 = (byte *)(ulong)uVar36;\n              iVar31 = (int)(char)pbVar15[1];\n            } while (iVar31 - 0x30U < 10);\n            pbVar26 = (byte *)(ulong)(uVar36 & 0x7fffffff);\n            iVar12 = iVar31;\n          }\n          if ((iVar12 != 0x2e) && (iVar12 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          pbVar30 = pbVar15 + 1;\n          iVar12 = (int)(char)pbVar15[1];\n          break;\n        case 0x6c:\n          iVar12 = (int)(char)pbVar15[1];\n          if (iVar12 == 0x6c) {\n            iVar12 = (int)(char)pbVar15[2];\n            cVar21 = '\x02';\n            pbVar30 = pbVar15 + 2;\n          }\n          else {\n            pbVar30 = pbVar15 + 1;\n            cVar21 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar15 = pbVar30;\n      } while (iVar12 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar21 = '\0';\nLAB_0013e9c2:\n      uVar36 = (uint)pbVar26;\n      peVar38 = fmtinfo;\n      iVar31 = 0;\n      iVar32 = 100;\n      while (peVar38 = peVar38 + 1, iVar32 != iVar12) {\n        iVar31 = iVar31 + 1;\n        if (iVar31 == 0x17) goto switchD_0013ea21_caseD_11;\n        iVar32 = (int)peVar38->fmttype;\n      }\n      eVar37 = fmtinfo[iVar31].type;\n      switch(eVar37) {\n      case '\0':\n      case '\x0f':\n        bVar40 = 0;\n      case '\x10':\n        if ((fmtinfo[iVar31].flags & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar18 = (ulong)*puVar33;\n              bVar10 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              bVar10 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar18 = getIntArg(local_d8);\n            bVar10 = 0;\n          }\nLAB_0013f51d:\n          if (uVar18 == 0) {\n            bVar39 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                piVar24 = (int *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                piVar24 = (int *)ap->overflow_arg_area;\n                ap->overflow_arg_area = piVar24 + 2;\n              }\n              uVar18 = (ulong)*piVar24;\n              if ((long)uVar18 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              if ((long)uVar18 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar18 = getIntArg(local_d8);\n          if (-1 < (long)uVar18) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar18 == 0x8000000000000000) {\n            bVar10 = 0x2d;\n            uVar18 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar18 = -uVar18;\n            bVar10 = 0x2d;\n          }\n        }\n        if ((bVar42) && (uVar22 = uVar36 - (bVar10 != 0), (int)uVar13 < (int)uVar22)) {\n          uVar13 = uVar22;\n        }\n        if ((int)uVar13 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar15 = (byte *)(buf + 0x45);\n        }\n        else {\n          sVar19 = (long)(int)uVar13 + 10;\n          if (bVar40 != 0) {\n            sVar19 = sVar19 + (int)uVar13 / 3;\n          }\n          local_e0 = (byte *)printfTempBuf(pAccum,sVar19);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar15 = local_e0 + (long)(int)sVar19 + -1;\n        }\n        pbVar26 = pbVar15;\n        if (eVar37 == '\x0f') {\n          if ((uVar18 % 10 < 4) && ((uVar18 / 10) % 10 != 1)) {\n            iVar12 = (int)(uVar18 % 10) * 2;\n            bVar27 = "thstndrd"[iVar12 + 1];\n            bVar11 = "thstndrd"[iVar12];\n          }\n          else {\n            bVar11 = 0x74;\n            bVar27 = 0x68;\n          }\n          pbVar15[-1] = bVar27;\n          pbVar26 = pbVar15 + -2;\n          pbVar15[-2] = bVar11;\n        }\n        bVar27 = fmtinfo[iVar31].charset;\n        uVar35 = (ulong)fmtinfo[iVar31].base;\n        do {\n          pbVar26 = pbVar26 + -1;\n          *pbVar26 = "0123456789ABCDEF0123456789abcdef"[uVar18 % uVar35 + (ulong)bVar27];\n          bVar42 = uVar35 <= uVar18;\n          uVar18 = uVar18 / uVar35;\n        } while (bVar42);\n        uVar22 = (int)pbVar15 - (int)pbVar26;\n        pbVar41 = pbVar26;\n        if ((int)uVar22 < (int)uVar13) {\n          pbVar41 = pbVar26 + ~(ulong)((uVar13 - 1) - uVar22);\n          do {\n            pbVar26 = pbVar26 + -1;\n            *pbVar26 = 0x30;\n            uVar22 = uVar13;\n          } while (pbVar26 != pbVar41);\n        }\n        if (bVar40 != 0) {\n          iVar32 = (int)(uVar22 - 1) / 3;\n          iVar12 = (int)(uVar22 - 1) % 3 + 1;\n          pbVar41 = pbVar41 + -(long)iVar32;\n          if (iVar32 != 0) {\n            iVar8 = 0;\n            while( true ) {\n              do {\n                iVar23 = iVar8;\n                pbVar41[iVar23] = pbVar41[iVar32 + iVar23];\n                iVar12 = iVar12 + -1;\n                iVar8 = iVar23 + 1;\n              } while (iVar12 != 0);\n              pbVar41[iVar23 + 1] = bVar40;\n              iVar32 = iVar32 + -1;\n              if (iVar32 == 0) break;\n              iVar12 = 3;\n              iVar8 = iVar23 + 2;\n            }\n          }\n        }\n        if (bVar10 != 0) {\n          pbVar41[-1] = bVar10;\n          pbVar41 = pbVar41 + -1;\n        }\n        if ((bVar39 != 0) && (bVar10 = fmtinfo[iVar31].prefix, bVar10 != 0)) {\n          pbVar26 = (byte *)("-x0" + bVar10);\n          bVar10 = "-x0"[bVar10];\n          while (bVar10 != 0) {\n            pbVar41 = pbVar41 + -1;\n            pbVar26 = pbVar26 + 1;\n            *pbVar41 = bVar10;\n            bVar10 = *pbVar26;\n          }\n        }\n        uVar22 = (int)pbVar15 - (int)pbVar41;\n        uVar36 = uVar36 - uVar22;\nLAB_0013f018:\n        if ((int)uVar36 < 1) {\nLAB_0013fd63:\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }\n        else if (bVar7) {\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n        }\n        else {\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }\n        if (local_e0 != (byte *)0x0) {\n          sqlite3DbFreeNN(pAccum->db,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar22 = ap->fp_offset;\n          if (uVar22 < 0xb0) {\n            ap->fp_offset = uVar22 + 0x10;\n            dVar44 = *(double *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            pdVar3 = (double *)ap->overflow_arg_area;\n            ap->overflow_arg_area = pdVar3 + 1;\n            dVar44 = *pdVar3;\n          }\n          if (uVar13 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar43 = 0 < (int)uVar13;\n        }\n        else {\n          iVar12 = local_d8->nUsed;\n          if (iVar12 < local_d8->nArg) {\n            local_d8->nUsed = iVar12 + 1;\n            dVar44 = sqlite3_value_double(local_d8->apArg[iVar12]);\n          }\n          else {\n            dVar44 = 0.0;\n          }\n          if (uVar13 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar43 = true;\n          uVar13 = 6;\n        }\n        if (dVar44 < 0.0) {\n          dVar44 = -dVar44;\n          bVar10 = 0x2d;\n        }\n        dVar45 = DAT_001fae78;\n        if ((eVar37 != '\x03') || (!bVar43)) {\n          uVar22 = uVar13 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar13 = uVar13 - 1;\n        uVar22 = uVar13 & 0xfff;\n        if (uVar22 != 0) {\n          do {\n            dVar45 = dVar45 * DAT_001faf40;\n            uVar22 = uVar22 - 1;\njoined_r0x0013ec49:\n          } while (uVar22 != 0);\n          if (eVar37 == '\x01') {\n            dVar44 = dVar45 + dVar44;\n          }\n        }\n        if (NAN(dVar44)) {\n          uVar36 = uVar36 - 3;\n          uVar22 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar41 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar18 = 0;\n        if (0.0 < dVar44) {\n          dVar5 = _DAT_001faf38;\n          if (dVar44 < _DAT_001faf38) {\n            dVar5 = (double)_DAT_001fae18;\n            bVar43 = true;\n            dVar6 = 1.0;\n          }\n          else {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 100;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = _DAT_001faf38 * dVar6;\n            } while (_DAT_001faf38 * dVar6 <= dVar44 && (int)uVar22 < 0x15f);\n            dVar5 = dVar6 * (double)_DAT_001fae18;\n          }\n          if ((dVar5 <= dVar44) && (bVar43)) {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 10;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = dVar6 * (double)_DAT_001fae18;\n            } while (dVar6 * (double)_DAT_001fae18 <= dVar44 && bVar43);\n          }\n          dVar5 = (double)_DAT_001fae10;\n          if ((dVar6 * dVar5 <= dVar44) && (dVar9 = dVar6 * dVar5, bVar43)) {\n            do {\n              dVar6 = dVar9;\n              uVar22 = (int)uVar18 + 1;\n              uVar18 = (ulong)uVar22;\n              dVar9 = dVar6 * dVar5;\n            } while ((int)uVar22 < 0x15f && dVar6 * dVar5 <= dVar44);\n          }\n          for (dVar44 = dVar44 / dVar6; dVar44 < _DAT_001faf48;\n              dVar44 = dVar44 * (double)_DAT_001fae1c) {\n            uVar18 = (ulong)((int)uVar18 - 8);\n          }\n          for (; dVar44 < 1.0; dVar44 = dVar44 * dVar5) {\n            uVar18 = (ulong)((int)uVar18 - 1);\n          }\n          if (0x15e < (int)uVar18) {\n            pbVar41 = (byte *)buf;\n            pbVar15 = pbVar41 + (bVar10 != 0);\n            buf[0] = bVar10;\n            pbVar15[0] = 0x49;\n            pbVar15[1] = 0x6e;\n            pbVar15[2] = 0x66;\n            pbVar15[3] = 0;\n            if (bVar10 == 0) {\n              uVar36 = uVar36 - 3;\n              uVar22 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              uVar36 = uVar36 - 4;\n              uVar22 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar18;\n        local_b5 = bVar27;\n        if (eVar37 == '\x01') {\n          iVar12 = 0;\n          if (-1 < local_c8) {\n            iVar12 = local_c8;\n          }\n          lVar34 = (long)iVar12;\n        }\n        else {\n          dVar44 = dVar45 + dVar44;\n          if ((double)_DAT_001fae10 <= dVar44) {\n            dVar44 = dVar44 * DAT_001faf40;\n            uVar18 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar18;\n          if (eVar37 == '\x03') {\n            local_b5 = bVar39 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar13 < local_c8)) {\n              lVar34 = 0;\n              eVar37 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar13 = uVar13 - local_c8;\n              iVar12 = 0;\n              if (-1 < local_c8) {\n                iVar12 = local_c8;\n              }\n              eVar37 = '\x01';\n              lVar34 = (long)iVar12;\n            }\n          }\n          else if (eVar37 == '\x02') {\n            lVar34 = 0;\n            local_c8 = 0;\n          }\n          else {\n            eVar37 = '\x01';\n            iVar12 = 0;\n            if (-1 < local_c8) {\n              iVar12 = local_c8;\n            }\n            lVar34 = (long)iVar12;\n          }\n        }\n        lVar29 = (long)(int)uVar36;\n        lVar34 = lVar34 + (int)uVar13 + 0xf + lVar29;\n        if (lVar34 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar41 = (byte *)buf;\n        }\n        else {\n          pbVar41 = (byte *)printfTempBuf(pAccum,lVar34);\n          local_e0 = pbVar41;\n          if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar12 = (uint)bVar27 * 10 + 0x10;\n        bVar43 = 0 < (int)uVar13;\n        pbVar26 = pbVar41;\n        pbVar15 = pbVar41 + 1;\n        if (bVar10 != 0) {\n          *pbVar41 = bVar10;\n          pbVar15 = pbVar41 + 2;\n          pbVar26 = pbVar41 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar26 = 0x30;\n          uVar22 = local_c8 + 1;\n          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar26 = pbVar15 + 1;\n            *pbVar15 = 0x2e;\n            pbVar15 = pbVar26;\n            if (uVar22 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar26 = pbVar15;\n            do {\n              pbVar20 = pbVar26 + 1;\n              *pbVar26 = 0x30;\n              pbVar26 = pbVar20;\n            } while (pbVar20 != pbVar15 + (ulong)~uVar22 + 1);\n            uVar13 = (uVar13 - 1) + local_c8 + 2;\n            pbVar15 = pbVar15 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar13) {\n              pbVar26 = pbVar15;\n              do {\n                while (pbVar20 = pbVar26 + 1, 0 < iVar12) {\n                  iVar12 = iVar12 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar44);\n                  *pbVar26 = (char)local_c8 + 0x30;\n                  dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n                  pbVar26 = pbVar20;\n                  if (pbVar20 == pbVar15 + (ulong)(uVar13 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar26 = 0x30;\n                pbVar26 = pbVar20;\n              } while (pbVar20 != pbVar15 + (ulong)(uVar13 - 1) + 1);\nLAB_0013ee39:\n              pbVar15 = pbVar15 + (ulong)(uVar13 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar22 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar15 = pbVar26 + (long)local_c8 + 1;\n          do {\n            while (pbVar20 = pbVar26, pbVar26 = pbVar20 + 1, 0 < iVar12) {\n              iVar12 = iVar12 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar44);\n              *pbVar20 = (char)local_c8 + 0x30;\n              dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n              if (pbVar26 == pbVar15) goto LAB_0013fe8d;\n            }\n            *pbVar20 = 0x30;\n          } while (pbVar26 != pbVar15);\nLAB_0013fe8d:\n          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar15 = pbVar20 + 2;\n            *pbVar26 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar43 || (bVar39 != 0 || bVar27 != 0))) {\n            while (pbVar15[-1] == 0x30) {\n              pbVar15 = pbVar15 + -1;\n              *pbVar15 = 0;\n            }\n            if (pbVar15[-1] == 0x2e) {\n              if (bVar27 == 0) {\n                pbVar15[-1] = 0;\n                pbVar15 = pbVar15 + -1;\n              }\n              else {\n                *pbVar15 = 0x30;\n                pbVar15 = pbVar15 + 1;\n              }\n            }\n          }\n        }\n        if (eVar37 == '\x02') {\n          pbVar26 = pbVar15 + 2;\n          *pbVar15 = "0123456789ABCDEF0123456789abcdef"[fmtinfo[iVar31].charset];\n          bVar27 = 0x2b;\n          if ((int)uVar18 < 0) {\n            uVar18 = (ulong)(uint)-(int)uVar18;\n            bVar27 = 0x2d;\n          }\n          pbVar15[1] = bVar27;\n          if (99 < (int)uVar18) {\n            pbVar26 = pbVar15 + 3;\n            pbVar15[2] = (char)(uVar18 / 100) + 0x30;\n            uVar18 = (ulong)(uint)((int)uVar18 + (int)(uVar18 / 100) * -100);\n          }\n          pbVar15 = pbVar26 + 2;\n          cVar21 = (char)(uVar18 / 10);\n          *pbVar26 = cVar21 + 0x30;\n          pbVar26[1] = (char)uVar18 + cVar21 * -10 + 0x30;\n        }\n        *pbVar15 = 0;\n        uVar22 = (int)pbVar15 - (int)pbVar41;\n        if (!(bool)(bVar42 & (bVar7 ^ 1U))) {\n          uVar36 = uVar36 - uVar22;\n          goto LAB_0013f018;\n        }\n        if ((int)uVar22 < (int)uVar36) {\n          iVar12 = uVar36 - uVar22;\n          if (iVar12 <= (int)uVar36) {\n            do {\n              pbVar41[lVar29] = pbVar41[lVar29 - iVar12];\n              lVar29 = lVar29 + -1;\n            } while (iVar12 <= (int)lVar29);\n          }\n          pbVar15 = pbVar41 + (bVar10 != 0);\n          do {\n            *pbVar15 = 0x30;\n            pbVar15 = pbVar15 + 1;\n            uVar22 = uVar36;\n          } while (pbVar41 + (ulong)(iVar12 - 1) + (ulong)(bVar10 != 0) + 1 != pbVar15);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          sqlite3_str_append(pAccum,(char *)pbVar41,0);\n          break;\n        }\n        uVar14 = pAccum->nChar;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          puVar28 = (undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area);\n          ap->gp_offset = uVar13 + 8;\n        }\n        else {\n          puVar28 = (undefined8 *)ap->overflow_arg_area;\n          ap->overflow_arg_area = puVar28 + 1;\n        }\n        *(u32 *)*puVar28 = uVar14;\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        bVar10 = pbVar30[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            ap->gp_offset = uVar22 + 8;\n            pbVar41 = *(byte **)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n            pbVar41 = (byte *)*puVar28;\n          }\n          if (pbVar41 == (byte *)0x0) goto LAB_0013fb9a;\n          if (eVar37 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar41;\n          if (((pAccum->nChar != 0) || (pAccum->mxAlloc == 0)) ||\n             ((uVar36 != 0 || (-1 < (int)uVar13)))) goto joined_r0x0013fbae;\n          if (pAccum->accError == '\0') {\n            pAccum->zText = (char *)pbVar41;\n            uVar14 = (*sqlite3Config.m.xSize)(pbVar41);\n            pAccum->nAlloc = uVar14;\n            sVar16 = strlen((char *)pbVar41);\n            pAccum->printfFlags = pAccum->printfFlags | 4;\n            pAccum->nChar = (uint)sVar16 & 0x7fffffff;\n            sqlite3_str_append(pAccum,(char *)pbVar41,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar16 = strlen((char *)pbVar41);\n          uVar22 = (uint)sVar16 & 0x7fffffff;\n          goto LAB_0013fa12;\n        }\n        pbVar41 = (byte *)getTextArg(local_d8);\n        if (pbVar41 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar41 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar13 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar15 = pbVar41;\n        if (bVar27 != 0) {\n          while ((pbVar20 = pbVar15, uVar13 = uVar13 - 1, uVar13 != 0xffffffff && (*pbVar20 != 0)))\n          {\n            pbVar15 = pbVar20 + 1;\n            if (0xbf < *pbVar20) {\n              bVar10 = pbVar20[1];\n              while ((bVar10 & 0xc0) == 0x80) {\n                pbVar15 = pbVar15 + 1;\n                bVar10 = *pbVar15;\n              }\n            }\n          }\n          uVar22 = (int)pbVar20 - (int)pbVar41;\n          bVar27 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar13 == 0) || (*pbVar41 == 0)) {\n          uVar22 = 0;\n          goto LAB_0013f018;\n        }\n        lVar34 = 1;\n        do {\n          uVar22 = (uint)lVar34;\n          if ((ulong)(uVar13 - 1) + 1 == lVar34) break;\n          pbVar15 = pbVar41 + lVar34;\n          lVar34 = lVar34 + 1;\n        } while (*pbVar15 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        buf[0] = '%';\n        uVar36 = uVar36 - 1;\n        pbVar41 = (byte *)buf;\n        uVar22 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            ap->gp_offset = uVar22 + 8;\n            uVar1 = *(uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            puVar33 = (uint *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar33 + 2;\n            uVar1 = *puVar33;\n          }\n          if (uVar1 < 0x80) {\n            buf[0] = (byte)uVar1;\n            uVar22 = 1;\n          }\n          else {\n            cVar21 = ((byte)uVar1 & 0x3f) + 0x80;\n            bVar10 = (byte)(uVar1 >> 6);\n            if (uVar1 < 0x800) {\n              buf[1] = cVar21;\n              uVar22 = 2;\n              buf[0] = bVar10 - 0x40;\n            }\n            else {\n              buf[2] = (bVar10 & 0x3f) + 0x80;\n              bVar10 = (byte)(uVar1 >> 0xc);\n              if (uVar1 < 0x10000) {\n                buf[1] = buf[2];\n                uVar22 = 3;\n                buf[0] = bVar10 - 0x20;\n                buf[2] = cVar21;\n              }\n              else {\n                uVar22 = 4;\n                buf[3] = cVar21;\n                buf[0] = ((byte)(uVar1 >> 0x12) & 7) - 0x10;\n                buf[1] = (bVar10 & 0x3f) + 0x80;\n              }\n            }\n          }\n        }\n        else {\n          pbVar41 = (byte *)getTextArg(local_d8);\n          if (pbVar41 == (byte *)0x0) {\n            buf[0] = '\0';\n          }\n          else {\n            buf[0] = *pbVar41;\n            if ((*pbVar41 & 0xc0) == 0xc0) {\n              lVar34 = 1;\n              do {\n                uVar22 = (uint)lVar34;\n                if ((pbVar41[lVar34] & 0xc0) != 0x80) goto joined_r0x0013fa79;\n                buf[lVar34] = pbVar41[lVar34];\n                lVar34 = lVar34 + 1;\n              } while (lVar34 != 4);\n              uVar22 = 4;\n              goto joined_r0x0013fa79;\n            }\n          }\n          uVar22 = 1;\n        }\njoined_r0x0013fa79:\n        if (1 < (int)uVar13) {\n          iVar12 = uVar13 - 1;\n          uVar36 = uVar36 - iVar12;\n          if (((int)uVar36 < 2) || (bVar7)) {\n            local_e0 = (byte *)(ulong)uVar36;\n          }\n          else {\n            sqlite3_str_appendchar(pAccum,uVar36 - 1,' ');\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            sqlite3_str_append(pAccum,buf,uVar22);\n            iVar12 = iVar12 + -1;\n          } while (iVar12 != 0);\n          pbVar26 = local_e0;\n          uVar36 = (uint)local_e0;\n        }\n        if (0 < (int)uVar36) {\n          pbVar41 = (byte *)buf;\n          local_e0 = (byte *)0x0;\n          iVar12 = uVar22 - 1;\n          goto LAB_0013efc6;\n        }\n        pbVar41 = (byte *)buf;\n        sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar10 = (eVar37 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            puVar28 = (undefined8 *)((ulong)uVar22 + (long)ap->reg_save_area);\n            ap->gp_offset = uVar22 + 8;\n          }\n          else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n          }\n          local_e0 = (byte *)*puVar28;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar13 != 0) && (bVar39 = *local_e0, pbVar15 = local_e0, bVar39 != 0))\n          goto LAB_0013f8fa;\n          if (eVar37 != '\n') {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar41 = pbVar20;\n            goto LAB_0013fa0c;\n          }\n          pbVar41 = (byte *)buf;\n          buf[0] = bVar10;\n          lVar34 = 2;\n          uVar22 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar20 = (byte *)(buf + 1);\nLAB_0013fa06:\n          *pbVar20 = bVar10;\n          pbVar20 = pbVar41 + lVar34;\n        }\n        else {\n          local_e0 = (byte *)getTextArg(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar15 = (byte *)0x1e846d;\n          if (eVar37 != '\n') {\n            pbVar15 = &DAT_001e9900;\n          }\n          if (uVar13 == 0) {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            pbVar41 = pbVar20;\n          }\n          else {\n            bVar39 = *pbVar15;\nLAB_0013f8fa:\n            iVar31 = 0;\n            iVar12 = 0;\n            do {\n              iVar32 = iVar12;\n              if (bVar10 == bVar39) {\n                iVar31 = iVar31 + 1;\n              }\n              else if (((bVar27 != 0) && ((bVar39 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U) == 0x80)) {\n                lVar34 = (long)(iVar12 + 1);\n                do {\n                  lVar29 = lVar34 + 1;\n                  iVar32 = (int)lVar34;\n                  lVar34 = lVar34 + 1;\n                } while (((int)(char)pbVar15[lVar29] & 0xc0U) == 0x80);\n              }\n              iVar12 = iVar32 + 1;\n              if (uVar13 == 1) break;\n              uVar13 = uVar13 - 1;\n              bVar39 = pbVar15[iVar12];\n            } while (bVar39 != 0);\n            bVar43 = local_e0 != (byte *)0x0;\n            iVar31 = iVar32 + 4 + iVar31;\n            bVar42 = bVar43 && eVar37 == '\n';\n            if (iVar31 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar41 = (byte *)buf;\n            }\n            else {\n              pbVar41 = (byte *)printfTempBuf(pAccum,(long)iVar31);\n              local_e0 = pbVar41;\n              if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar42) {\n              *pbVar41 = bVar10;\n            }\n            lVar34 = 0;\n            uVar13 = (uint)bVar42;\n            do {\n              while( true ) {\n                bVar39 = pbVar15[lVar34];\n                uVar22 = uVar13 + 1;\n                pbVar41[(int)uVar13] = bVar39;\n                pbVar20 = pbVar41 + (int)uVar22;\n                if (bVar10 != bVar39) break;\n                uVar22 = uVar13 + 2;\n                *pbVar20 = bVar10;\n                lVar34 = lVar34 + 1;\n                pbVar20 = pbVar41 + (int)uVar22;\n                uVar13 = uVar22;\n                if (iVar12 <= (int)lVar34) goto LAB_0013f9fa;\n              }\n              lVar34 = lVar34 + 1;\n              uVar13 = uVar22;\n            } while ((int)lVar34 < iVar12);\nLAB_0013f9fa:\n            if (bVar43 && eVar37 == '\n') {\n              uVar22 = uVar22 + 1;\n              lVar34 = (long)(int)uVar22;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar20 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar36) && (bVar27 != 0)) && (iVar12 = uVar22 - 1, -1 < iVar12)) {\nLAB_0013efc6:\n          lVar34 = (long)iVar12;\n          do {\n            pbVar15 = pbVar41 + lVar34;\n            lVar34 = lVar34 + -1;\n            uVar36 = (int)pbVar26 + (uint)(((int)(char)*pbVar15 & 0xc0U) == 0x80);\n            pbVar26 = (byte *)(ulong)uVar36;\n          } while (-1 < (int)lVar34);\n        }\nLAB_0013eff2:\n        uVar36 = uVar36 - uVar22;\n        goto LAB_0013f018;\n      case '\v':\n        if ((pAccum->printfFlags & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          plVar17 = (long *)((ulong)uVar13 + (long)ap->reg_save_area);\n          ap->gp_offset = uVar13 + 8;\n        }\n        else {\n          plVar17 = (long *)ap->overflow_arg_area;\n          ap->overflow_arg_area = plVar17 + 1;\n        }\n        puVar28 = (undefined8 *)*plVar17;\n        if ((puVar28 == (undefined8 *)0x0) || (*(int *)(puVar28 + 1) == 0)) goto LAB_0013f287;\n        sqlite3_str_append(pAccum,(char *)*puVar28,*(int *)(puVar28 + 1));\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        break;\n      case '\f':\n        if ((pAccum->printfFlags & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          uVar36 = uVar13 + 8;\n          ap->gp_offset = uVar36;\n          lVar34 = *(long *)((long)ap->reg_save_area + (ulong)uVar13);\n          if (0x2f < uVar36) {\n            plVar17 = (long *)ap->overflow_arg_area;\n            goto LAB_0013f46b;\n          }\n          plVar17 = (long *)((long)ap->reg_save_area + (ulong)uVar36);\n          ap->gp_offset = uVar13 + 0x10;\n        }\n        else {\n          plVar4 = (long *)ap->overflow_arg_area;\n          plVar17 = plVar4 + 1;\n          ap->overflow_arg_area = plVar17;\n          lVar34 = *plVar4;\nLAB_0013f46b:\n          ap->overflow_arg_area = plVar17 + 1;\n        }\n        lVar29 = *plVar17;\n        z = *(char **)(lVar34 + 0x10 + (long)(int)lVar29 * 0x70);\n        if (z != (char *)0x0) {\n          sqlite3_str_appendall(pAccum,z);\n          sqlite3_str_append(pAccum,".",1);\n        }\n        sqlite3_str_appendall(pAccum,*(char **)(lVar34 + 0x18 + (long)(int)lVar29 * 0x70));\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        break;\n      case '\r':\n        bVar40 = fmtinfo[iVar31].flags & 1;\n        if ((fmtinfo[iVar31].flags & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar22 = ap->gp_offset;\n          bVar40 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar40 = 0;\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar10 = pbVar30[1];\njoined_r0x0013ebb8:\n      fmt = (char *)(pbVar30 + 1);\n    } while (bVar10 != 0);\n  }\nswitchD_0013ea21_caseD_11:\n  if (lVar2 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" primitive_type (function_declarator "sqlite3_str_vappendf(sqlite3_str *pAccum,char *fmt,__va_list_tag *ap)" identifier (parameter_list "(sqlite3_str *pAccum,char *fmt,__va_list_tag *ap)" ( (parameter_declaration "sqlite3_str *pAccum" type_identifier (pointer_declarator "*pAccum" * identifier)) , (parameter_declaration "char *fmt" primitive_type (pointer_declarator "*fmt" * identifier)) , (parameter_declaration "__va_list_tag *ap" type_identifier (pointer_declarator "*ap" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  long lVar2;\n  double *pdVar3;\n  char *z;\n  long *plVar4;\n  double dVar5;\n  double dVar6;\n  bool bVar7;\n  int iVar8;\n  double dVar9;\n  byte bVar10;\n  byte bVar11;\n  uint ch;\n  int iVar12;\n  uint uVar13;\n  u32 uVar14;\n  byte *pbVar15;\n  size_t sVar16;\n  long *plVar17;\n  ulong uVar18;\n  sqlite3_int64 sVar19;\n  byte *pbVar20;\n  char cVar21;\n  uint uVar22;\n  int iVar23;\n  int *piVar24;\n  ulong *puVar25;\n  byte *pbVar26;\n  byte bVar27;\n  undefined8 *puVar28;\n  long lVar29;\n  byte *pbVar30;\n  int iVar31;\n  SrcList *pSrc;\n  int iVar32;\n  uint *puVar33;\n  long lVar34;\n  ulong uVar35;\n  uint uVar36;\n  etByte eVar37;\n  et_info *peVar38;\n  byte bVar39;\n  byte bVar40;\n  byte *pbVar41;\n  long in_FS_OFFSET;\n  bool bVar42;\n  bool bVar43;\n  double dVar44;\n  double dVar45;\n  byte *local_e0;\n  PrintfArguments *local_d8;\n  int local_c8;\n  byte local_b6;\n  byte local_b5;\n  char buf [70];\n  \n  lVar2 = *(long *)(in_FS_OFFSET + 0x28);\n  local_b6 = pAccum->printfFlags & 2;\n  local_d8 = (PrintfArguments *)0x0;\n  if ((pAccum->printfFlags & 2) != 0) {\n    uVar13 = ap->gp_offset;\n    if (uVar13 < 0x30) {\n      puVar28 = (undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area);\n      ap->gp_offset = uVar13 + 8;\n    }\n    else {\n      puVar28 = (undefined8 *)ap->overflow_arg_area;\n      ap->overflow_arg_area = puVar28 + 1;\n    }\n    local_d8 = (PrintfArguments *)*puVar28;\n    local_b6 = 1;\n  }\n  bVar10 = *fmt;\n  if (bVar10 != 0) {\n    pbVar41 = (byte *)0x0;\n    do {\n      pbVar15 = (byte *)fmt;\n      if (bVar10 != 0x25) {\n        pbVar15 = (byte *)strchrnul(fmt,0x25);\n        sqlite3_str_append(pAccum,fmt,(int)pbVar15 - (int)fmt);\n        pbVar41 = (byte *)fmt;\n        if (*pbVar15 == 0) break;\n      }\n      iVar12 = (int)(char)pbVar15[1];\n      if (pbVar15[1] == 0) {\n        sqlite3_str_append(pAccum,"%",1);\n        break;\n      }\n      bVar42 = false;\n      uVar13 = 0xffffffff;\n      bVar40 = 0;\n      bVar27 = 0;\n      bVar7 = false;\n      bVar39 = 0;\n      bVar10 = 0;\n      pbVar26 = (byte *)0x0;\n      pbVar15 = pbVar15 + 1;\n      do {\n        pbVar30 = pbVar15;\n        switch(iVar12) {\n        case 0x20:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar10 = 0x20;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x21:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar27 = 1;\n          pbVar30 = pbVar15 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar39 = 1;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar36 = ap->gp_offset;\n            if (uVar36 < 0x30) {\n              puVar33 = (uint *)((ulong)uVar36 + (long)ap->reg_save_area);\n              ap->gp_offset = uVar36 + 8;\n            }\n            else {\n              puVar33 = (uint *)ap->overflow_arg_area;\n              ap->overflow_arg_area = puVar33 + 2;\n            }\n            pbVar26 = (byte *)(ulong)*puVar33;\n          }\n          else {\n            uVar18 = getIntArg(local_d8);\n            pbVar26 = (byte *)(uVar18 & 0xffffffff);\n          }\n          iVar12 = (int)pbVar26;\n          if (iVar12 < 0) {\n            if (iVar12 == -0x80000000) {\n              bVar7 = true;\n              pbVar26 = (byte *)0x0;\n            }\n            else {\n              pbVar26 = (byte *)(ulong)(uint)-iVar12;\n              bVar7 = true;\n            }\n          }\n          iVar12 = (int)(char)pbVar15[1];\n          pbVar30 = pbVar15 + 1;\n          if ((iVar12 != 0x6c) && (iVar12 != 0x2e)) {\n            cVar21 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar10 = 0x2b;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2c:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar40 = 0x2c;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2d:\n          bVar7 = true;\n          iVar12 = (int)(char)pbVar15[1];\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2e:\n          iVar12 = (int)(char)pbVar15[1];\n          if (iVar12 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar13 = ap->gp_offset;\n              if (uVar13 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar13 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar13 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar36 = *puVar33;\n            }\n            else {\n              sVar19 = getIntArg(local_d8);\n              uVar36 = (uint)sVar19;\n            }\n            uVar13 = uVar36;\n            if (((int)uVar36 < 0) && (uVar13 = -uVar36, uVar36 == 0x80000000)) {\n              uVar13 = 0xffffffff;\n            }\n            iVar12 = (int)(char)pbVar15[2];\n            pbVar30 = pbVar15 + 2;\n          }\n          else {\n            pbVar30 = pbVar15 + 1;\n            uVar13 = 0;\n            if (iVar12 - 0x30U < 10) {\n              do {\n                pbVar30 = pbVar30 + 1;\n                uVar13 = iVar12 + -0x30 + uVar13 * 10;\n                iVar12 = (int)(char)*pbVar30;\n              } while (iVar12 - 0x30U < 10);\n              uVar13 = uVar13 & 0x7fffffff;\n            }\n          }\n          if (iVar12 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar12 = (int)(char)*pbVar30;\n          break;\n        case 0x30:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar42 = true;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar31 = (int)(char)pbVar15[1];\n          pbVar26 = (byte *)(ulong)(iVar12 - 0x30);\n          pbVar30 = pbVar15 + 1;\n          iVar12 = iVar31;\n          if (iVar31 - 0x30U < 10) {\n            do {\n              pbVar15 = pbVar30;\n              pbVar30 = pbVar15 + 1;\n              uVar36 = iVar31 + -0x30 + (int)pbVar26 * 10;\n              pbVar26 = (byte *)(ulong)uVar36;\n              iVar31 = (int)(char)pbVar15[1];\n            } while (iVar31 - 0x30U < 10);\n            pbVar26 = (byte *)(ulong)(uVar36 & 0x7fffffff);\n            iVar12 = iVar31;\n          }\n          if ((iVar12 != 0x2e) && (iVar12 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          pbVar30 = pbVar15 + 1;\n          iVar12 = (int)(char)pbVar15[1];\n          break;\n        case 0x6c:\n          iVar12 = (int)(char)pbVar15[1];\n          if (iVar12 == 0x6c) {\n            iVar12 = (int)(char)pbVar15[2];\n            cVar21 = '\x02';\n            pbVar30 = pbVar15 + 2;\n          }\n          else {\n            pbVar30 = pbVar15 + 1;\n            cVar21 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar15 = pbVar30;\n      } while (iVar12 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar21 = '\0';\nLAB_0013e9c2:\n      uVar36 = (uint)pbVar26;\n      peVar38 = fmtinfo;\n      iVar31 = 0;\n      iVar32 = 100;\n      while (peVar38 = peVar38 + 1, iVar32 != iVar12) {\n        iVar31 = iVar31 + 1;\n        if (iVar31 == 0x17) goto switchD_0013ea21_caseD_11;\n        iVar32 = (int)peVar38->fmttype;\n      }\n      eVar37 = fmtinfo[iVar31].type;\n      switch(eVar37) {\n      case '\0':\n      case '\x0f':\n        bVar40 = 0;\n      case '\x10':\n        if ((fmtinfo[iVar31].flags & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar18 = (ulong)*puVar33;\n              bVar10 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              bVar10 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar18 = getIntArg(local_d8);\n            bVar10 = 0;\n          }\nLAB_0013f51d:\n          if (uVar18 == 0) {\n            bVar39 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                piVar24 = (int *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                piVar24 = (int *)ap->overflow_arg_area;\n                ap->overflow_arg_area = piVar24 + 2;\n              }\n              uVar18 = (ulong)*piVar24;\n              if ((long)uVar18 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              if ((long)uVar18 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar18 = getIntArg(local_d8);\n          if (-1 < (long)uVar18) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar18 == 0x8000000000000000) {\n            bVar10 = 0x2d;\n            uVar18 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar18 = -uVar18;\n            bVar10 = 0x2d;\n          }\n        }\n        if ((bVar42) && (uVar22 = uVar36 - (bVar10 != 0), (int)uVar13 < (int)uVar22)) {\n          uVar13 = uVar22;\n        }\n        if ((int)uVar13 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar15 = (byte *)(buf + 0x45);\n        }\n        else {\n          sVar19 = (long)(int)uVar13 + 10;\n          if (bVar40 != 0) {\n            sVar19 = sVar19 + (int)uVar13 / 3;\n          }\n          local_e0 = (byte *)printfTempBuf(pAccum,sVar19);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar15 = local_e0 + (long)(int)sVar19 + -1;\n        }\n        pbVar26 = pbVar15;\n        if (eVar37 == '\x0f') {\n          if ((uVar18 % 10 < 4) && ((uVar18 / 10) % 10 != 1)) {\n            iVar12 = (int)(uVar18 % 10) * 2;\n            bVar27 = "thstndrd"[iVar12 + 1];\n            bVar11 = "thstndrd"[iVar12];\n          }\n          else {\n            bVar11 = 0x74;\n            bVar27 = 0x68;\n          }\n          pbVar15[-1] = bVar27;\n          pbVar26 = pbVar15 + -2;\n          pbVar15[-2] = bVar11;\n        }\n        bVar27 = fmtinfo[iVar31].charset;\n        uVar35 = (ulong)fmtinfo[iVar31].base;\n        do {\n          pbVar26 = pbVar26 + -1;\n          *pbVar26 = "0123456789ABCDEF0123456789abcdef"[uVar18 % uVar35 + (ulong)bVar27];\n          bVar42 = uVar35 <= uVar18;\n          uVar18 = uVar18 / uVar35;\n        } while (bVar42);\n        uVar22 = (int)pbVar15 - (int)pbVar26;\n        pbVar41 = pbVar26;\n        if ((int)uVar22 < (int)uVar13) {\n          pbVar41 = pbVar26 + ~(ulong)((uVar13 - 1) - uVar22);\n          do {\n            pbVar26 = pbVar26 + -1;\n            *pbVar26 = 0x30;\n            uVar22 = uVar13;\n          } while (pbVar26 != pbVar41);\n        }\n        if (bVar40 != 0) {\n          iVar32 = (int)(uVar22 - 1) / 3;\n          iVar12 = (int)(uVar22 - 1) % 3 + 1;\n          pbVar41 = pbVar41 + -(long)iVar32;\n          if (iVar32 != 0) {\n            iVar8 = 0;\n            while( true ) {\n              do {\n                iVar23 = iVar8;\n                pbVar41[iVar23] = pbVar41[iVar32 + iVar23];\n                iVar12 = iVar12 + -1;\n                iVar8 = iVar23 + 1;\n              } while (iVar12 != 0);\n              pbVar41[iVar23 + 1] = bVar40;\n              iVar32 = iVar32 + -1;\n              if (iVar32 == 0) break;\n              iVar12 = 3;\n              iVar8 = iVar23 + 2;\n            }\n          }\n        }\n        if (bVar10 != 0) {\n          pbVar41[-1] = bVar10;\n          pbVar41 = pbVar41 + -1;\n        }\n        if ((bVar39 != 0) && (bVar10 = fmtinfo[iVar31].prefix, bVar10 != 0)) {\n          pbVar26 = (byte *)("-x0" + bVar10);\n          bVar10 = "-x0"[bVar10];\n          while (bVar10 != 0) {\n            pbVar41 = pbVar41 + -1;\n            pbVar26 = pbVar26 + 1;\n            *pbVar41 = bVar10;\n            bVar10 = *pbVar26;\n          }\n        }\n        uVar22 = (int)pbVar15 - (int)pbVar41;\n        uVar36 = uVar36 - uVar22;\nLAB_0013f018:\n        if ((int)uVar36 < 1) {\nLAB_0013fd63:\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }\n        else if (bVar7) {\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n        }\n        else {\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }\n        if (local_e0 != (byte *)0x0) {\n          sqlite3DbFreeNN(pAccum->db,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar22 = ap->fp_offset;\n          if (uVar22 < 0xb0) {\n            ap->fp_offset = uVar22 + 0x10;\n            dVar44 = *(double *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            pdVar3 = (double *)ap->overflow_arg_area;\n            ap->overflow_arg_area = pdVar3 + 1;\n            dVar44 = *pdVar3;\n          }\n          if (uVar13 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar43 = 0 < (int)uVar13;\n        }\n        else {\n          iVar12 = local_d8->nUsed;\n          if (iVar12 < local_d8->nArg) {\n            local_d8->nUsed = iVar12 + 1;\n            dVar44 = sqlite3_value_double(local_d8->apArg[iVar12]);\n          }\n          else {\n            dVar44 = 0.0;\n          }\n          if (uVar13 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar43 = true;\n          uVar13 = 6;\n        }\n        if (dVar44 < 0.0) {\n          dVar44 = -dVar44;\n          bVar10 = 0x2d;\n        }\n        dVar45 = DAT_001fae78;\n        if ((eVar37 != '\x03') || (!bVar43)) {\n          uVar22 = uVar13 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar13 = uVar13 - 1;\n        uVar22 = uVar13 & 0xfff;\n        if (uVar22 != 0) {\n          do {\n            dVar45 = dVar45 * DAT_001faf40;\n            uVar22 = uVar22 - 1;\njoined_r0x0013ec49:\n          } while (uVar22 != 0);\n          if (eVar37 == '\x01') {\n            dVar44 = dVar45 + dVar44;\n          }\n        }\n        if (NAN(dVar44)) {\n          uVar36 = uVar36 - 3;\n          uVar22 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar41 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar18 = 0;\n        if (0.0 < dVar44) {\n          dVar5 = _DAT_001faf38;\n          if (dVar44 < _DAT_001faf38) {\n            dVar5 = (double)_DAT_001fae18;\n            bVar43 = true;\n            dVar6 = 1.0;\n          }\n          else {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 100;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = _DAT_001faf38 * dVar6;\n            } while (_DAT_001faf38 * dVar6 <= dVar44 && (int)uVar22 < 0x15f);\n            dVar5 = dVar6 * (double)_DAT_001fae18;\n          }\n          if ((dVar5 <= dVar44) && (bVar43)) {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 10;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = dVar6 * (double)_DAT_001fae18;\n            } while (dVar6 * (double)_DAT_001fae18 <= dVar44 && bVar43);\n          }\n          dVar5 = (double)_DAT_001fae10;\n          if ((dVar6 * dVar5 <= dVar44) && (dVar9 = dVar6 * dVar5, bVar43)) {\n            do {\n              dVar6 = dVar9;\n              uVar22 = (int)uVar18 + 1;\n              uVar18 = (ulong)uVar22;\n              dVar9 = dVar6 * dVar5;\n            } while ((int)uVar22 < 0x15f && dVar6 * dVar5 <= dVar44);\n          }\n          for (dVar44 = dVar44 / dVar6; dVar44 < _DAT_001faf48;\n              dVar44 = dVar44 * (double)_DAT_001fae1c) {\n            uVar18 = (ulong)((int)uVar18 - 8);\n          }\n          for (; dVar44 < 1.0; dVar44 = dVar44 * dVar5) {\n            uVar18 = (ulong)((int)uVar18 - 1);\n          }\n          if (0x15e < (int)uVar18) {\n            pbVar41 = (byte *)buf;\n            pbVar15 = pbVar41 + (bVar10 != 0);\n            buf[0] = bVar10;\n            pbVar15[0] = 0x49;\n            pbVar15[1] = 0x6e;\n            pbVar15[2] = 0x66;\n            pbVar15[3] = 0;\n            if (bVar10 == 0) {\n              uVar36 = uVar36 - 3;\n              uVar22 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              uVar36 = uVar36 - 4;\n              uVar22 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar18;\n        local_b5 = bVar27;\n        if (eVar37 == '\x01') {\n          iVar12 = 0;\n          if (-1 < local_c8) {\n            iVar12 = local_c8;\n          }\n          lVar34 = (long)iVar12;\n        }\n        else {\n          dVar44 = dVar45 + dVar44;\n          if ((double)_DAT_001fae10 <= dVar44) {\n            dVar44 = dVar44 * DAT_001faf40;\n            uVar18 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar18;\n          if (eVar37 == '\x03') {\n            local_b5 = bVar39 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar13 < local_c8)) {\n              lVar34 = 0;\n              eVar37 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar13 = uVar13 - local_c8;\n              iVar12 = 0;\n              if (-1 < local_c8) {\n                iVar12 = local_c8;\n              }\n              eVar37 = '\x01';\n              lVar34 = (long)iVar12;\n            }\n          }\n          else if (eVar37 == '\x02') {\n            lVar34 = 0;\n            local_c8 = 0;\n          }\n          else {\n            eVar37 = '\x01';\n            iVar12 = 0;\n            if (-1 < local_c8) {\n              iVar12 = local_c8;\n            }\n            lVar34 = (long)iVar12;\n          }\n        }\n        lVar29 = (long)(int)uVar36;\n        lVar34 = lVar34 + (int)uVar13 + 0xf + lVar29;\n        if (lVar34 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar41 = (byte *)buf;\n        }\n        else {\n          pbVar41 = (byte *)printfTempBuf(pAccum,lVar34);\n          local_e0 = pbVar41;\n          if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar12 = (uint)bVar27 * 10 + 0x10;\n        bVar43 = 0 < (int)uVar13;\n        pbVar26 = pbVar41;\n        pbVar15 = pbVar41 + 1;\n        if (bVar10 != 0) {\n          *pbVar41 = bVar10;\n          pbVar15 = pbVar41 + 2;\n          pbVar26 = pbVar41 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar26 = 0x30;\n          uVar22 = local_c8 + 1;\n          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar26 = pbVar15 + 1;\n            *pbVar15 = 0x2e;\n            pbVar15 = pbVar26;\n            if (uVar22 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar26 = pbVar15;\n            do {\n              pbVar20 = pbVar26 + 1;\n              *pbVar26 = 0x30;\n              pbVar26 = pbVar20;\n            } while (pbVar20 != pbVar15 + (ulong)~uVar22 + 1);\n            uVar13 = (uVar13 - 1) + local_c8 + 2;\n            pbVar15 = pbVar15 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar13) {\n              pbVar26 = pbVar15;\n              do {\n                while (pbVar20 = pbVar26 + 1, 0 < iVar12) {\n                  iVar12 = iVar12 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar44);\n                  *pbVar26 = (char)local_c8 + 0x30;\n                  dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n                  pbVar26 = pbVar20;\n                  if (pbVar20 == pbVar15 + (ulong)(uVar13 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar26 = 0x30;\n                pbVar26 = pbVar20;\n              } while (pbVar20 != pbVar15 + (ulong)(uVar13 - 1) + 1);\nLAB_0013ee39:\n              pbVar15 = pbVar15 + (ulong)(uVar13 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar22 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar15 = pbVar26 + (long)local_c8 + 1;\n          do {\n            while (pbVar20 = pbVar26, pbVar26 = pbVar20 + 1, 0 < iVar12) {\n              iVar12 = iVar12 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar44);\n              *pbVar20 = (char)local_c8 + 0x30;\n              dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n              if (pbVar26 == pbVar15) goto LAB_0013fe8d;\n            }\n            *pbVar20 = 0x30;\n          } while (pbVar26 != pbVar15);\nLAB_0013fe8d:\n          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar15 = pbVar20 + 2;\n            *pbVar26 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar43 || (bVar39 != 0 || bVar27 != 0))) {\n            while (pbVar15[-1] == 0x30) {\n              pbVar15 = pbVar15 + -1;\n              *pbVar15 = 0;\n            }\n            if (pbVar15[-1] == 0x2e) {\n              if (bVar27 == 0) {\n                pbVar15[-1] = 0;\n                pbVar15 = pbVar15 + -1;\n              }\n              else {\n                *pbVar15 = 0x30;\n                pbVar15 = pbVar15 + 1;\n              }\n            }\n          }\n        }\n        if (eVar37 == '\x02') {\n          pbVar26 = pbVar15 + 2;\n          *pbVar15 = "0123456789ABCDEF0123456789abcdef"[fmtinfo[iVar31].charset];\n          bVar27 = 0x2b;\n          if ((int)uVar18 < 0) {\n            uVar18 = (ulong)(uint)-(int)uVar18;\n            bVar27 = 0x2d;\n          }\n          pbVar15[1] = bVar27;\n          if (99 < (int)uVar18) {\n            pbVar26 = pbVar15 + 3;\n            pbVar15[2] = (char)(uVar18 / 100) + 0x30;\n            uVar18 = (ulong)(uint)((int)uVar18 + (int)(uVar18 / 100) * -100);\n          }\n          pbVar15 = pbVar26 + 2;\n          cVar21 = (char)(uVar18 / 10);\n          *pbVar26 = cVar21 + 0x30;\n          pbVar26[1] = (char)uVar18 + cVar21 * -10 + 0x30;\n        }\n        *pbVar15 = 0;\n        uVar22 = (int)pbVar15 - (int)pbVar41;\n        if (!(bool)(bVar42 & (bVar7 ^ 1U))) {\n          uVar36 = uVar36 - uVar22;\n          goto LAB_0013f018;\n        }\n        if ((int)uVar22 < (int)uVar36) {\n          iVar12 = uVar36 - uVar22;\n          if (iVar12 <= (int)uVar36) {\n            do {\n              pbVar41[lVar29] = pbVar41[lVar29 - iVar12];\n              lVar29 = lVar29 + -1;\n            } while (iVar12 <= (int)lVar29);\n          }\n          pbVar15 = pbVar41 + (bVar10 != 0);\n          do {\n            *pbVar15 = 0x30;\n            pbVar15 = pbVar15 + 1;\n            uVar22 = uVar36;\n          } while (pbVar41 + (ulong)(iVar12 - 1) + (ulong)(bVar10 != 0) + 1 != pbVar15);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          sqlite3_str_append(pAccum,(char *)pbVar41,0);\n          break;\n        }\n        uVar14 = pAccum->nChar;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          puVar28 = (undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area);\n          ap->gp_offset = uVar13 + 8;\n        }\n        else {\n          puVar28 = (undefined8 *)ap->overflow_arg_area;\n          ap->overflow_arg_area = puVar28 + 1;\n        }\n        *(u32 *)*puVar28 = uVar14;\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        bVar10 = pbVar30[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            ap->gp_offset = uVar22 + 8;\n            pbVar41 = *(byte **)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n            pbVar41 = (byte *)*puVar28;\n          }\n          if (pbVar41 == (byte *)0x0) goto LAB_0013fb9a;\n          if (eVar37 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar41;\n          if (((pAccum->nChar != 0) || (pAccum->mxAlloc == 0)) ||\n             ((uVar36 != 0 || (-1 < (int)uVar13)))) goto joined_r0x0013fbae;\n          if (pAccum->accError == '\0') {\n            pAccum->zText = (char *)pbVar41;\n            uVar14 = (*sqlite3Config.m.xSize)(pbVar41);\n            pAccum->nAlloc = uVar14;\n            sVar16 = strlen((char *)pbVar41);\n            pAccum->printfFlags = pAccum->printfFlags | 4;\n            pAccum->nChar = (uint)sVar16 & 0x7fffffff;\n            sqlite3_str_append(pAccum,(char *)pbVar41,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar16 = strlen((char *)pbVar41);\n          uVar22 = (uint)sVar16 & 0x7fffffff;\n          goto LAB_0013fa12;\n        }\n        pbVar41 = (byte *)getTextArg(local_d8);\n        if (pbVar41 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar41 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar13 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar15 = pbVar41;\n        if (bVar27 != 0) {\n          while ((pbVar20 = pbVar15, uVar13 = uVar13 - 1, uVar13 != 0xffffffff && (*pbVar20 != 0)))\n          {\n            pbVar15 = pbVar20 + 1;\n            if (0xbf < *pbVar20) {\n              bVar10 = pbVar20[1];\n              while ((bVar10 & 0xc0) == 0x80) {\n                pbVar15 = pbVar15 + 1;\n                bVar10 = *pbVar15;\n              }\n            }\n          }\n          uVar22 = (int)pbVar20 - (int)pbVar41;\n          bVar27 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar13 == 0) || (*pbVar41 == 0)) {\n          uVar22 = 0;\n          goto LAB_0013f018;\n        }\n        lVar34 = 1;\n        do {\n          uVar22 = (uint)lVar34;\n          if ((ulong)(uVar13 - 1) + 1 == lVar34) break;\n          pbVar15 = pbVar41 + lVar34;\n          lVar34 = lVar34 + 1;\n        } while (*pbVar15 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        buf[0] = '%';\n        uVar36 = uVar36 - 1;\n        pbVar41 = (byte *)buf;\n        uVar22 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            ap->gp_offset = uVar22 + 8;\n            uVar1 = *(uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            puVar33 = (uint *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar33 + 2;\n            uVar1 = *puVar33;\n          }\n          if (uVar1 < 0x80) {\n            buf[0] = (byte)uVar1;\n            uVar22 = 1;\n          }\n          else {\n            cVar21 = ((byte)uVar1 & 0x3f) + 0x80;\n            bVar10 = (byte)(uVar1 >> 6);\n            if (uVar1 < 0x800) {\n              buf[1] = cVar21;\n              uVar22 = 2;\n              buf[0] = bVar10 - 0x40;\n            }\n            else {\n              buf[2] = (bVar10 & 0x3f) + 0x80;\n              bVar10 = (byte)(uVar1 >> 0xc);\n              if (uVar1 < 0x10000) {\n                buf[1] = buf[2];\n                uVar22 = 3;\n                buf[0] = bVar10 - 0x20;\n                buf[2] = cVar21;\n              }\n              else {\n                uVar22 = 4;\n                buf[3] = cVar21;\n                buf[0] = ((byte)(uVar1 >> 0x12) & 7) - 0x10;\n                buf[1] = (bVar10 & 0x3f) + 0x80;\n              }\n            }\n          }\n        }\n        else {\n          pbVar41 = (byte *)getTextArg(local_d8);\n          if (pbVar41 == (byte *)0x0) {\n            buf[0] = '\0';\n          }\n          else {\n            buf[0] = *pbVar41;\n            if ((*pbVar41 & 0xc0) == 0xc0) {\n              lVar34 = 1;\n              do {\n                uVar22 = (uint)lVar34;\n                if ((pbVar41[lVar34] & 0xc0) != 0x80) goto joined_r0x0013fa79;\n                buf[lVar34] = pbVar41[lVar34];\n                lVar34 = lVar34 + 1;\n              } while (lVar34 != 4);\n              uVar22 = 4;\n              goto joined_r0x0013fa79;\n            }\n          }\n          uVar22 = 1;\n        }\njoined_r0x0013fa79:\n        if (1 < (int)uVar13) {\n          iVar12 = uVar13 - 1;\n          uVar36 = uVar36 - iVar12;\n          if (((int)uVar36 < 2) || (bVar7)) {\n            local_e0 = (byte *)(ulong)uVar36;\n          }\n          else {\n            sqlite3_str_appendchar(pAccum,uVar36 - 1,' ');\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            sqlite3_str_append(pAccum,buf,uVar22);\n            iVar12 = iVar12 + -1;\n          } while (iVar12 != 0);\n          pbVar26 = local_e0;\n          uVar36 = (uint)local_e0;\n        }\n        if (0 < (int)uVar36) {\n          pbVar41 = (byte *)buf;\n          local_e0 = (byte *)0x0;\n          iVar12 = uVar22 - 1;\n          goto LAB_0013efc6;\n        }\n        pbVar41 = (byte *)buf;\n        sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar10 = (eVar37 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            puVar28 = (undefined8 *)((ulong)uVar22 + (long)ap->reg_save_area);\n            ap->gp_offset = uVar22 + 8;\n          }\n          else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n          }\n          local_e0 = (byte *)*puVar28;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar13 != 0) && (bVar39 = *local_e0, pbVar15 = local_e0, bVar39 != 0))\n          goto LAB_0013f8fa;\n          if (eVar37 != '\n') {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar41 = pbVar20;\n            goto LAB_0013fa0c;\n          }\n          pbVar41 = (byte *)buf;\n          buf[0] = bVar10;\n          lVar34 = 2;\n          uVar22 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar20 = (byte *)(buf + 1);\nLAB_0013fa06:\n          *pbVar20 = bVar10;\n          pbVar20 = pbVar41 + lVar34;\n        }\n        else {\n          local_e0 = (byte *)getTextArg(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar15 = (byte *)0x1e846d;\n          if (eVar37 != '\n') {\n            pbVar15 = &DAT_001e9900;\n          }\n          if (uVar13 == 0) {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            pbVar41 = pbVar20;\n          }\n          else {\n            bVar39 = *pbVar15;\nLAB_0013f8fa:\n            iVar31 = 0;\n            iVar12 = 0;\n            do {\n              iVar32 = iVar12;\n              if (bVar10 == bVar39) {\n                iVar31 = iVar31 + 1;\n              }\n              else if (((bVar27 != 0) && ((bVar39 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U) == 0x80)) {\n                lVar34 = (long)(iVar12 + 1);\n                do {\n                  lVar29 = lVar34 + 1;\n                  iVar32 = (int)lVar34;\n                  lVar34 = lVar34 + 1;\n                } while (((int)(char)pbVar15[lVar29] & 0xc0U) == 0x80);\n              }\n              iVar12 = iVar32 + 1;\n              if (uVar13 == 1) break;\n              uVar13 = uVar13 - 1;\n              bVar39 = pbVar15[iVar12];\n            } while (bVar39 != 0);\n            bVar43 = local_e0 != (byte *)0x0;\n            iVar31 = iVar32 + 4 + iVar31;\n            bVar42 = bVar43 && eVar37 == '\n';\n            if (iVar31 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar41 = (byte *)buf;\n            }\n            else {\n              pbVar41 = (byte *)printfTempBuf(pAccum,(long)iVar31);\n              local_e0 = pbVar41;\n              if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar42) {\n              *pbVar41 = bVar10;\n            }\n            lVar34 = 0;\n            uVar13 = (uint)bVar42;\n            do {\n              while( true ) {\n                bVar39 = pbVar15[lVar34];\n                uVar22 = uVar13 + 1;\n                pbVar41[(int)uVar13] = bVar39;\n                pbVar20 = pbVar41 + (int)uVar22;\n                if (bVar10 != bVar39) break;\n                uVar22 = uVar13 + 2;\n                *pbVar20 = bVar10;\n                lVar34 = lVar34 + 1;\n                pbVar20 = pbVar41 + (int)uVar22;\n                uVar13 = uVar22;\n                if (iVar12 <= (int)lVar34) goto LAB_0013f9fa;\n              }\n              lVar34 = lVar34 + 1;\n              uVar13 = uVar22;\n            } while ((int)lVar34 < iVar12);\nLAB_0013f9fa:\n            if (bVar43 && eVar37 == '\n') {\n              uVar22 = uVar22 + 1;\n              lVar34 = (long)(int)uVar22;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar20 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar36) && (bVar27 != 0)) && (iVar12 = uVar22 - 1, -1 < iVar12)) {\nLAB_0013efc6:\n          lVar34 = (long)iVar12;\n          do {\n            pbVar15 = pbVar41 + lVar34;\n            lVar34 = lVar34 + -1;\n            uVar36 = (int)pbVar26 + (uint)(((int)(char)*pbVar15 & 0xc0U) == 0x80);\n            pbVar26 = (byte *)(ulong)uVar36;\n          } while (-1 < (int)lVar34);\n        }\nLAB_0013eff2:\n        uVar36 = uVar36 - uVar22;\n        goto LAB_0013f018;\n      case '\v':\n        if ((pAccum->printfFlags & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          plVar17 = (long *)((ulong)uVar13 + (long)ap->reg_save_area);\n          ap->gp_offset = uVar13 + 8;\n        }\n        else {\n          plVar17 = (long *)ap->overflow_arg_area;\n          ap->overflow_arg_area = plVar17 + 1;\n        }\n        puVar28 = (undefined8 *)*plVar17;\n        if ((puVar28 == (undefined8 *)0x0) || (*(int *)(puVar28 + 1) == 0)) goto LAB_0013f287;\n        sqlite3_str_append(pAccum,(char *)*puVar28,*(int *)(puVar28 + 1));\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        break;\n      case '\f':\n        if ((pAccum->printfFlags & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          uVar36 = uVar13 + 8;\n          ap->gp_offset = uVar36;\n          lVar34 = *(long *)((long)ap->reg_save_area + (ulong)uVar13);\n          if (0x2f < uVar36) {\n            plVar17 = (long *)ap->overflow_arg_area;\n            goto LAB_0013f46b;\n          }\n          plVar17 = (long *)((long)ap->reg_save_area + (ulong)uVar36);\n          ap->gp_offset = uVar13 + 0x10;\n        }\n        else {\n          plVar4 = (long *)ap->overflow_arg_area;\n          plVar17 = plVar4 + 1;\n          ap->overflow_arg_area = plVar17;\n          lVar34 = *plVar4;\nLAB_0013f46b:\n          ap->overflow_arg_area = plVar17 + 1;\n        }\n        lVar29 = *plVar17;\n        z = *(char **)(lVar34 + 0x10 + (long)(int)lVar29 * 0x70);\n        if (z != (char *)0x0) {\n          sqlite3_str_appendall(pAccum,z);\n          sqlite3_str_append(pAccum,".",1);\n        }\n        sqlite3_str_appendall(pAccum,*(char **)(lVar34 + 0x18 + (long)(int)lVar29 * 0x70));\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        break;\n      case '\r':\n        bVar40 = fmtinfo[iVar31].flags & 1;\n        if ((fmtinfo[iVar31].flags & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar22 = ap->gp_offset;\n          bVar40 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar40 = 0;\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar10 = pbVar30[1];\njoined_r0x0013ebb8:\n      fmt = (char *)(pbVar30 + 1);\n    } while (bVar10 != 0);\n  }\nswitchD_0013ea21_caseD_11:\n  if (lVar2 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "double *pdVar3;" primitive_type (pointer_declarator "*pdVar3" * identifier) ;) (declaration "char *z;" primitive_type (pointer_declarator "*z" * identifier) ;) (declaration "long *plVar4;" (sized_type_specifier "long" long) (pointer_declarator "*plVar4" * identifier) ;) (declaration "double dVar5;" primitive_type identifier ;) (declaration "double dVar6;" primitive_type identifier ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "double dVar9;" primitive_type identifier ;) (declaration "byte bVar10;" type_identifier identifier ;) (declaration "byte bVar11;" type_identifier identifier ;) (declaration "uint ch;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "u32 uVar14;" type_identifier identifier ;) (declaration "byte *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "size_t sVar16;" primitive_type identifier ;) (declaration "long *plVar17;" (sized_type_specifier "long" long) (pointer_declarator "*plVar17" * identifier) ;) (declaration "ulong uVar18;" type_identifier identifier ;) (declaration "sqlite3_int64 sVar19;" type_identifier identifier ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "char cVar21;" primitive_type identifier ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "int *piVar24;" primitive_type (pointer_declarator "*piVar24" * identifier) ;) (declaration "ulong *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "byte *pbVar26;" type_identifier (pointer_declarator "*pbVar26" * identifier) ;) (declaration "byte bVar27;" type_identifier identifier ;) (declaration "undefined8 *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "long lVar29;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *pbVar30;" type_identifier (pointer_declarator "*pbVar30" * identifier) ;) (declaration "int iVar31;" primitive_type identifier ;) (declaration "SrcList *pSrc;" type_identifier (pointer_declarator "*pSrc" * identifier) ;) (declaration "int iVar32;" primitive_type identifier ;) (declaration "uint *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "long lVar34;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar35;" type_identifier identifier ;) (declaration "uint uVar36;" type_identifier identifier ;) (declaration "etByte eVar37;" type_identifier identifier ;) (declaration "et_info *peVar38;" type_identifier (pointer_declarator "*peVar38" * identifier) ;) (declaration "byte bVar39;" type_identifier identifier ;) (declaration "byte bVar40;" type_identifier identifier ;) (declaration "byte *pbVar41;" type_identifier (pointer_declarator "*pbVar41" * identifier) ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "bool bVar42;" primitive_type identifier ;) (declaration "bool bVar43;" primitive_type identifier ;) (declaration "double dVar44;" primitive_type identifier ;) (declaration "double dVar45;" primitive_type identifier ;) (declaration "byte *local_e0;" type_identifier (pointer_declarator "*local_e0" * identifier) ;) (declaration "PrintfArguments *local_d8;" type_identifier (pointer_declarator "*local_d8" * identifier) ;) (declaration "int local_c8;" primitive_type identifier ;) (declaration "byte local_b6;" type_identifier identifier ;) (declaration "byte local_b5;" type_identifier identifier ;) (declaration "char buf [70];" primitive_type (array_declarator "buf [70]" identifier [ number_literal ]) ;) (expression_statement "lVar2 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "lVar2 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "local_b6 = pAccum->printfFlags & 2;" (assignment_expression "local_b6 = pAccum->printfFlags & 2" identifier = (binary_expression "pAccum->printfFlags & 2" (field_expression "pAccum->printfFlags" identifier -> field_identifier) & number_literal)) ;) (expression_statement "local_d8 = (PrintfArguments *)0x0;" (assignment_expression "local_d8 = (PrintfArguments *)0x0" identifier = (cast_expression "(PrintfArguments *)0x0" ( (type_descriptor "PrintfArguments *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((pAccum->printfFlags & 2) != 0) {\n    uVar13 = ap->gp_offset;\n    if (uVar13 < 0x30) {\n      puVar28 = (undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area);\n      ap->gp_offset = uVar13 + 8;\n    }\n    else {\n      puVar28 = (undefined8 *)ap->overflow_arg_area;\n      ap->overflow_arg_area = puVar28 + 1;\n    }\n    local_d8 = (PrintfArguments *)*puVar28;\n    local_b6 = 1;\n  }" if (parenthesized_expression "((pAccum->printfFlags & 2) != 0)" ( (binary_expression "(pAccum->printfFlags & 2) != 0" (parenthesized_expression "(pAccum->printfFlags & 2)" ( (binary_expression "pAccum->printfFlags & 2" (field_expression "pAccum->printfFlags" identifier -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n    uVar13 = ap->gp_offset;\n    if (uVar13 < 0x30) {\n      puVar28 = (undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area);\n      ap->gp_offset = uVar13 + 8;\n    }\n    else {\n      puVar28 = (undefined8 *)ap->overflow_arg_area;\n      ap->overflow_arg_area = puVar28 + 1;\n    }\n    local_d8 = (PrintfArguments *)*puVar28;\n    local_b6 = 1;\n  }" { (expression_statement "uVar13 = ap->gp_offset;" (assignment_expression "uVar13 = ap->gp_offset" identifier = (field_expression "ap->gp_offset" identifier -> field_identifier)) ;) (if_statement "if (uVar13 < 0x30) {\n      puVar28 = (undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area);\n      ap->gp_offset = uVar13 + 8;\n    }\n    else {\n      puVar28 = (undefined8 *)ap->overflow_arg_area;\n      ap->overflow_arg_area = puVar28 + 1;\n    }" if (parenthesized_expression "(uVar13 < 0x30)" ( (binary_expression "uVar13 < 0x30" identifier < number_literal) )) (compound_statement "{\n      puVar28 = (undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area);\n      ap->gp_offset = uVar13 + 8;\n    }" { (expression_statement "puVar28 = (undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area);" (assignment_expression "puVar28 = (undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area)" identifier = (cast_expression "(undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar13 + (long)ap->reg_save_area)" ( (binary_expression "(ulong)uVar13 + (long)ap->reg_save_area" (cast_expression "(ulong)uVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) + (cast_expression "(long)ap->reg_save_area" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "ap->reg_save_area" identifier -> field_identifier))) )))) ;) (expression_statement "ap->gp_offset = uVar13 + 8;" (assignment_expression "ap->gp_offset = uVar13 + 8" (field_expression "ap->gp_offset" identifier -> field_identifier) = (binary_expression "uVar13 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n      puVar28 = (undefined8 *)ap->overflow_arg_area;\n      ap->overflow_arg_area = puVar28 + 1;\n    }" else (compound_statement "{\n      puVar28 = (undefined8 *)ap->overflow_arg_area;\n      ap->overflow_arg_area = puVar28 + 1;\n    }" { (expression_statement "puVar28 = (undefined8 *)ap->overflow_arg_area;" (assignment_expression "puVar28 = (undefined8 *)ap->overflow_arg_area" identifier = (cast_expression "(undefined8 *)ap->overflow_arg_area" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "ap->overflow_arg_area" identifier -> field_identifier))) ;) (expression_statement "ap->overflow_arg_area = puVar28 + 1;" (assignment_expression "ap->overflow_arg_area = puVar28 + 1" (field_expression "ap->overflow_arg_area" identifier -> field_identifier) = (binary_expression "puVar28 + 1" identifier + number_literal)) ;) }))) (expression_statement "local_d8 = (PrintfArguments *)*puVar28;" (assignment_expression "local_d8 = (PrintfArguments *)*puVar28" identifier = (cast_expression "(PrintfArguments *)*puVar28" ( (type_descriptor "PrintfArguments *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar28" * identifier))) ;) (expression_statement "local_b6 = 1;" (assignment_expression "local_b6 = 1" identifier = number_literal) ;) })) (expression_statement "bVar10 = *fmt;" (assignment_expression "bVar10 = *fmt" identifier = (pointer_expression "*fmt" * identifier)) ;) (if_statement "if (bVar10 != 0) {\n    pbVar41 = (byte *)0x0;\n    do {\n      pbVar15 = (byte *)fmt;\n      if (bVar10 != 0x25) {\n        pbVar15 = (byte *)strchrnul(fmt,0x25);\n        sqlite3_str_append(pAccum,fmt,(int)pbVar15 - (int)fmt);\n        pbVar41 = (byte *)fmt;\n        if (*pbVar15 == 0) break;\n      }\n      iVar12 = (int)(char)pbVar15[1];\n      if (pbVar15[1] == 0) {\n        sqlite3_str_append(pAccum,"%",1);\n        break;\n      }\n      bVar42 = false;\n      uVar13 = 0xffffffff;\n      bVar40 = 0;\n      bVar27 = 0;\n      bVar7 = false;\n      bVar39 = 0;\n      bVar10 = 0;\n      pbVar26 = (byte *)0x0;\n      pbVar15 = pbVar15 + 1;\n      do {\n        pbVar30 = pbVar15;\n        switch(iVar12) {\n        case 0x20:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar10 = 0x20;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x21:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar27 = 1;\n          pbVar30 = pbVar15 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar39 = 1;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar36 = ap->gp_offset;\n            if (uVar36 < 0x30) {\n              puVar33 = (uint *)((ulong)uVar36 + (long)ap->reg_save_area);\n              ap->gp_offset = uVar36 + 8;\n            }\n            else {\n              puVar33 = (uint *)ap->overflow_arg_area;\n              ap->overflow_arg_area = puVar33 + 2;\n            }\n            pbVar26 = (byte *)(ulong)*puVar33;\n          }\n          else {\n            uVar18 = getIntArg(local_d8);\n            pbVar26 = (byte *)(uVar18 & 0xffffffff);\n          }\n          iVar12 = (int)pbVar26;\n          if (iVar12 < 0) {\n            if (iVar12 == -0x80000000) {\n              bVar7 = true;\n              pbVar26 = (byte *)0x0;\n            }\n            else {\n              pbVar26 = (byte *)(ulong)(uint)-iVar12;\n              bVar7 = true;\n            }\n          }\n          iVar12 = (int)(char)pbVar15[1];\n          pbVar30 = pbVar15 + 1;\n          if ((iVar12 != 0x6c) && (iVar12 != 0x2e)) {\n            cVar21 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar10 = 0x2b;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2c:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar40 = 0x2c;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2d:\n          bVar7 = true;\n          iVar12 = (int)(char)pbVar15[1];\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2e:\n          iVar12 = (int)(char)pbVar15[1];\n          if (iVar12 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar13 = ap->gp_offset;\n              if (uVar13 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar13 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar13 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar36 = *puVar33;\n            }\n            else {\n              sVar19 = getIntArg(local_d8);\n              uVar36 = (uint)sVar19;\n            }\n            uVar13 = uVar36;\n            if (((int)uVar36 < 0) && (uVar13 = -uVar36, uVar36 == 0x80000000)) {\n              uVar13 = 0xffffffff;\n            }\n            iVar12 = (int)(char)pbVar15[2];\n            pbVar30 = pbVar15 + 2;\n          }\n          else {\n            pbVar30 = pbVar15 + 1;\n            uVar13 = 0;\n            if (iVar12 - 0x30U < 10) {\n              do {\n                pbVar30 = pbVar30 + 1;\n                uVar13 = iVar12 + -0x30 + uVar13 * 10;\n                iVar12 = (int)(char)*pbVar30;\n              } while (iVar12 - 0x30U < 10);\n              uVar13 = uVar13 & 0x7fffffff;\n            }\n          }\n          if (iVar12 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar12 = (int)(char)*pbVar30;\n          break;\n        case 0x30:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar42 = true;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar31 = (int)(char)pbVar15[1];\n          pbVar26 = (byte *)(ulong)(iVar12 - 0x30);\n          pbVar30 = pbVar15 + 1;\n          iVar12 = iVar31;\n          if (iVar31 - 0x30U < 10) {\n            do {\n              pbVar15 = pbVar30;\n              pbVar30 = pbVar15 + 1;\n              uVar36 = iVar31 + -0x30 + (int)pbVar26 * 10;\n              pbVar26 = (byte *)(ulong)uVar36;\n              iVar31 = (int)(char)pbVar15[1];\n            } while (iVar31 - 0x30U < 10);\n            pbVar26 = (byte *)(ulong)(uVar36 & 0x7fffffff);\n            iVar12 = iVar31;\n          }\n          if ((iVar12 != 0x2e) && (iVar12 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          pbVar30 = pbVar15 + 1;\n          iVar12 = (int)(char)pbVar15[1];\n          break;\n        case 0x6c:\n          iVar12 = (int)(char)pbVar15[1];\n          if (iVar12 == 0x6c) {\n            iVar12 = (int)(char)pbVar15[2];\n            cVar21 = '\x02';\n            pbVar30 = pbVar15 + 2;\n          }\n          else {\n            pbVar30 = pbVar15 + 1;\n            cVar21 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar15 = pbVar30;\n      } while (iVar12 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar21 = '\0';\nLAB_0013e9c2:\n      uVar36 = (uint)pbVar26;\n      peVar38 = fmtinfo;\n      iVar31 = 0;\n      iVar32 = 100;\n      while (peVar38 = peVar38 + 1, iVar32 != iVar12) {\n        iVar31 = iVar31 + 1;\n        if (iVar31 == 0x17) goto switchD_0013ea21_caseD_11;\n        iVar32 = (int)peVar38->fmttype;\n      }\n      eVar37 = fmtinfo[iVar31].type;\n      switch(eVar37) {\n      case '\0':\n      case '\x0f':\n        bVar40 = 0;\n      case '\x10':\n        if ((fmtinfo[iVar31].flags & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar18 = (ulong)*puVar33;\n              bVar10 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              bVar10 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar18 = getIntArg(local_d8);\n            bVar10 = 0;\n          }\nLAB_0013f51d:\n          if (uVar18 == 0) {\n            bVar39 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                piVar24 = (int *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                piVar24 = (int *)ap->overflow_arg_area;\n                ap->overflow_arg_area = piVar24 + 2;\n              }\n              uVar18 = (ulong)*piVar24;\n              if ((long)uVar18 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              if ((long)uVar18 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar18 = getIntArg(local_d8);\n          if (-1 < (long)uVar18) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar18 == 0x8000000000000000) {\n            bVar10 = 0x2d;\n            uVar18 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar18 = -uVar18;\n            bVar10 = 0x2d;\n          }\n        }\n        if ((bVar42) && (uVar22 = uVar36 - (bVar10 != 0), (int)uVar13 < (int)uVar22)) {\n          uVar13 = uVar22;\n        }\n        if ((int)uVar13 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar15 = (byte *)(buf + 0x45);\n        }\n        else {\n          sVar19 = (long)(int)uVar13 + 10;\n          if (bVar40 != 0) {\n            sVar19 = sVar19 + (int)uVar13 / 3;\n          }\n          local_e0 = (byte *)printfTempBuf(pAccum,sVar19);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar15 = local_e0 + (long)(int)sVar19 + -1;\n        }\n        pbVar26 = pbVar15;\n        if (eVar37 == '\x0f') {\n          if ((uVar18 % 10 < 4) && ((uVar18 / 10) % 10 != 1)) {\n            iVar12 = (int)(uVar18 % 10) * 2;\n            bVar27 = "thstndrd"[iVar12 + 1];\n            bVar11 = "thstndrd"[iVar12];\n          }\n          else {\n            bVar11 = 0x74;\n            bVar27 = 0x68;\n          }\n          pbVar15[-1] = bVar27;\n          pbVar26 = pbVar15 + -2;\n          pbVar15[-2] = bVar11;\n        }\n        bVar27 = fmtinfo[iVar31].charset;\n        uVar35 = (ulong)fmtinfo[iVar31].base;\n        do {\n          pbVar26 = pbVar26 + -1;\n          *pbVar26 = "0123456789ABCDEF0123456789abcdef"[uVar18 % uVar35 + (ulong)bVar27];\n          bVar42 = uVar35 <= uVar18;\n          uVar18 = uVar18 / uVar35;\n        } while (bVar42);\n        uVar22 = (int)pbVar15 - (int)pbVar26;\n        pbVar41 = pbVar26;\n        if ((int)uVar22 < (int)uVar13) {\n          pbVar41 = pbVar26 + ~(ulong)((uVar13 - 1) - uVar22);\n          do {\n            pbVar26 = pbVar26 + -1;\n            *pbVar26 = 0x30;\n            uVar22 = uVar13;\n          } while (pbVar26 != pbVar41);\n        }\n        if (bVar40 != 0) {\n          iVar32 = (int)(uVar22 - 1) / 3;\n          iVar12 = (int)(uVar22 - 1) % 3 + 1;\n          pbVar41 = pbVar41 + -(long)iVar32;\n          if (iVar32 != 0) {\n            iVar8 = 0;\n            while( true ) {\n              do {\n                iVar23 = iVar8;\n                pbVar41[iVar23] = pbVar41[iVar32 + iVar23];\n                iVar12 = iVar12 + -1;\n                iVar8 = iVar23 + 1;\n              } while (iVar12 != 0);\n              pbVar41[iVar23 + 1] = bVar40;\n              iVar32 = iVar32 + -1;\n              if (iVar32 == 0) break;\n              iVar12 = 3;\n              iVar8 = iVar23 + 2;\n            }\n          }\n        }\n        if (bVar10 != 0) {\n          pbVar41[-1] = bVar10;\n          pbVar41 = pbVar41 + -1;\n        }\n        if ((bVar39 != 0) && (bVar10 = fmtinfo[iVar31].prefix, bVar10 != 0)) {\n          pbVar26 = (byte *)("-x0" + bVar10);\n          bVar10 = "-x0"[bVar10];\n          while (bVar10 != 0) {\n            pbVar41 = pbVar41 + -1;\n            pbVar26 = pbVar26 + 1;\n            *pbVar41 = bVar10;\n            bVar10 = *pbVar26;\n          }\n        }\n        uVar22 = (int)pbVar15 - (int)pbVar41;\n        uVar36 = uVar36 - uVar22;\nLAB_0013f018:\n        if ((int)uVar36 < 1) {\nLAB_0013fd63:\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }\n        else if (bVar7) {\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n        }\n        else {\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }\n        if (local_e0 != (byte *)0x0) {\n          sqlite3DbFreeNN(pAccum->db,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar22 = ap->fp_offset;\n          if (uVar22 < 0xb0) {\n            ap->fp_offset = uVar22 + 0x10;\n            dVar44 = *(double *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            pdVar3 = (double *)ap->overflow_arg_area;\n            ap->overflow_arg_area = pdVar3 + 1;\n            dVar44 = *pdVar3;\n          }\n          if (uVar13 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar43 = 0 < (int)uVar13;\n        }\n        else {\n          iVar12 = local_d8->nUsed;\n          if (iVar12 < local_d8->nArg) {\n            local_d8->nUsed = iVar12 + 1;\n            dVar44 = sqlite3_value_double(local_d8->apArg[iVar12]);\n          }\n          else {\n            dVar44 = 0.0;\n          }\n          if (uVar13 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar43 = true;\n          uVar13 = 6;\n        }\n        if (dVar44 < 0.0) {\n          dVar44 = -dVar44;\n          bVar10 = 0x2d;\n        }\n        dVar45 = DAT_001fae78;\n        if ((eVar37 != '\x03') || (!bVar43)) {\n          uVar22 = uVar13 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar13 = uVar13 - 1;\n        uVar22 = uVar13 & 0xfff;\n        if (uVar22 != 0) {\n          do {\n            dVar45 = dVar45 * DAT_001faf40;\n            uVar22 = uVar22 - 1;\njoined_r0x0013ec49:\n          } while (uVar22 != 0);\n          if (eVar37 == '\x01') {\n            dVar44 = dVar45 + dVar44;\n          }\n        }\n        if (NAN(dVar44)) {\n          uVar36 = uVar36 - 3;\n          uVar22 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar41 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar18 = 0;\n        if (0.0 < dVar44) {\n          dVar5 = _DAT_001faf38;\n          if (dVar44 < _DAT_001faf38) {\n            dVar5 = (double)_DAT_001fae18;\n            bVar43 = true;\n            dVar6 = 1.0;\n          }\n          else {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 100;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = _DAT_001faf38 * dVar6;\n            } while (_DAT_001faf38 * dVar6 <= dVar44 && (int)uVar22 < 0x15f);\n            dVar5 = dVar6 * (double)_DAT_001fae18;\n          }\n          if ((dVar5 <= dVar44) && (bVar43)) {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 10;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = dVar6 * (double)_DAT_001fae18;\n            } while (dVar6 * (double)_DAT_001fae18 <= dVar44 && bVar43);\n          }\n          dVar5 = (double)_DAT_001fae10;\n          if ((dVar6 * dVar5 <= dVar44) && (dVar9 = dVar6 * dVar5, bVar43)) {\n            do {\n              dVar6 = dVar9;\n              uVar22 = (int)uVar18 + 1;\n              uVar18 = (ulong)uVar22;\n              dVar9 = dVar6 * dVar5;\n            } while ((int)uVar22 < 0x15f && dVar6 * dVar5 <= dVar44);\n          }\n          for (dVar44 = dVar44 / dVar6; dVar44 < _DAT_001faf48;\n              dVar44 = dVar44 * (double)_DAT_001fae1c) {\n            uVar18 = (ulong)((int)uVar18 - 8);\n          }\n          for (; dVar44 < 1.0; dVar44 = dVar44 * dVar5) {\n            uVar18 = (ulong)((int)uVar18 - 1);\n          }\n          if (0x15e < (int)uVar18) {\n            pbVar41 = (byte *)buf;\n            pbVar15 = pbVar41 + (bVar10 != 0);\n            buf[0] = bVar10;\n            pbVar15[0] = 0x49;\n            pbVar15[1] = 0x6e;\n            pbVar15[2] = 0x66;\n            pbVar15[3] = 0;\n            if (bVar10 == 0) {\n              uVar36 = uVar36 - 3;\n              uVar22 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              uVar36 = uVar36 - 4;\n              uVar22 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar18;\n        local_b5 = bVar27;\n        if (eVar37 == '\x01') {\n          iVar12 = 0;\n          if (-1 < local_c8) {\n            iVar12 = local_c8;\n          }\n          lVar34 = (long)iVar12;\n        }\n        else {\n          dVar44 = dVar45 + dVar44;\n          if ((double)_DAT_001fae10 <= dVar44) {\n            dVar44 = dVar44 * DAT_001faf40;\n            uVar18 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar18;\n          if (eVar37 == '\x03') {\n            local_b5 = bVar39 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar13 < local_c8)) {\n              lVar34 = 0;\n              eVar37 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar13 = uVar13 - local_c8;\n              iVar12 = 0;\n              if (-1 < local_c8) {\n                iVar12 = local_c8;\n              }\n              eVar37 = '\x01';\n              lVar34 = (long)iVar12;\n            }\n          }\n          else if (eVar37 == '\x02') {\n            lVar34 = 0;\n            local_c8 = 0;\n          }\n          else {\n            eVar37 = '\x01';\n            iVar12 = 0;\n            if (-1 < local_c8) {\n              iVar12 = local_c8;\n            }\n            lVar34 = (long)iVar12;\n          }\n        }\n        lVar29 = (long)(int)uVar36;\n        lVar34 = lVar34 + (int)uVar13 + 0xf + lVar29;\n        if (lVar34 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar41 = (byte *)buf;\n        }\n        else {\n          pbVar41 = (byte *)printfTempBuf(pAccum,lVar34);\n          local_e0 = pbVar41;\n          if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar12 = (uint)bVar27 * 10 + 0x10;\n        bVar43 = 0 < (int)uVar13;\n        pbVar26 = pbVar41;\n        pbVar15 = pbVar41 + 1;\n        if (bVar10 != 0) {\n          *pbVar41 = bVar10;\n          pbVar15 = pbVar41 + 2;\n          pbVar26 = pbVar41 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar26 = 0x30;\n          uVar22 = local_c8 + 1;\n          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar26 = pbVar15 + 1;\n            *pbVar15 = 0x2e;\n            pbVar15 = pbVar26;\n            if (uVar22 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar26 = pbVar15;\n            do {\n              pbVar20 = pbVar26 + 1;\n              *pbVar26 = 0x30;\n              pbVar26 = pbVar20;\n            } while (pbVar20 != pbVar15 + (ulong)~uVar22 + 1);\n            uVar13 = (uVar13 - 1) + local_c8 + 2;\n            pbVar15 = pbVar15 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar13) {\n              pbVar26 = pbVar15;\n              do {\n                while (pbVar20 = pbVar26 + 1, 0 < iVar12) {\n                  iVar12 = iVar12 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar44);\n                  *pbVar26 = (char)local_c8 + 0x30;\n                  dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n                  pbVar26 = pbVar20;\n                  if (pbVar20 == pbVar15 + (ulong)(uVar13 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar26 = 0x30;\n                pbVar26 = pbVar20;\n              } while (pbVar20 != pbVar15 + (ulong)(uVar13 - 1) + 1);\nLAB_0013ee39:\n              pbVar15 = pbVar15 + (ulong)(uVar13 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar22 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar15 = pbVar26 + (long)local_c8 + 1;\n          do {\n            while (pbVar20 = pbVar26, pbVar26 = pbVar20 + 1, 0 < iVar12) {\n              iVar12 = iVar12 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar44);\n              *pbVar20 = (char)local_c8 + 0x30;\n              dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n              if (pbVar26 == pbVar15) goto LAB_0013fe8d;\n            }\n            *pbVar20 = 0x30;\n          } while (pbVar26 != pbVar15);\nLAB_0013fe8d:\n          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar15 = pbVar20 + 2;\n            *pbVar26 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar43 || (bVar39 != 0 || bVar27 != 0))) {\n            while (pbVar15[-1] == 0x30) {\n              pbVar15 = pbVar15 + -1;\n              *pbVar15 = 0;\n            }\n            if (pbVar15[-1] == 0x2e) {\n              if (bVar27 == 0) {\n                pbVar15[-1] = 0;\n                pbVar15 = pbVar15 + -1;\n              }\n              else {\n                *pbVar15 = 0x30;\n                pbVar15 = pbVar15 + 1;\n              }\n            }\n          }\n        }\n        if (eVar37 == '\x02') {\n          pbVar26 = pbVar15 + 2;\n          *pbVar15 = "0123456789ABCDEF0123456789abcdef"[fmtinfo[iVar31].charset];\n          bVar27 = 0x2b;\n          if ((int)uVar18 < 0) {\n            uVar18 = (ulong)(uint)-(int)uVar18;\n            bVar27 = 0x2d;\n          }\n          pbVar15[1] = bVar27;\n          if (99 < (int)uVar18) {\n            pbVar26 = pbVar15 + 3;\n            pbVar15[2] = (char)(uVar18 / 100) + 0x30;\n            uVar18 = (ulong)(uint)((int)uVar18 + (int)(uVar18 / 100) * -100);\n          }\n          pbVar15 = pbVar26 + 2;\n          cVar21 = (char)(uVar18 / 10);\n          *pbVar26 = cVar21 + 0x30;\n          pbVar26[1] = (char)uVar18 + cVar21 * -10 + 0x30;\n        }\n        *pbVar15 = 0;\n        uVar22 = (int)pbVar15 - (int)pbVar41;\n        if (!(bool)(bVar42 & (bVar7 ^ 1U))) {\n          uVar36 = uVar36 - uVar22;\n          goto LAB_0013f018;\n        }\n        if ((int)uVar22 < (int)uVar36) {\n          iVar12 = uVar36 - uVar22;\n          if (iVar12 <= (int)uVar36) {\n            do {\n              pbVar41[lVar29] = pbVar41[lVar29 - iVar12];\n              lVar29 = lVar29 + -1;\n            } while (iVar12 <= (int)lVar29);\n          }\n          pbVar15 = pbVar41 + (bVar10 != 0);\n          do {\n            *pbVar15 = 0x30;\n            pbVar15 = pbVar15 + 1;\n            uVar22 = uVar36;\n          } while (pbVar41 + (ulong)(iVar12 - 1) + (ulong)(bVar10 != 0) + 1 != pbVar15);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          sqlite3_str_append(pAccum,(char *)pbVar41,0);\n          break;\n        }\n        uVar14 = pAccum->nChar;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          puVar28 = (undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area);\n          ap->gp_offset = uVar13 + 8;\n        }\n        else {\n          puVar28 = (undefined8 *)ap->overflow_arg_area;\n          ap->overflow_arg_area = puVar28 + 1;\n        }\n        *(u32 *)*puVar28 = uVar14;\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        bVar10 = pbVar30[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            ap->gp_offset = uVar22 + 8;\n            pbVar41 = *(byte **)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n            pbVar41 = (byte *)*puVar28;\n          }\n          if (pbVar41 == (byte *)0x0) goto LAB_0013fb9a;\n          if (eVar37 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar41;\n          if (((pAccum->nChar != 0) || (pAccum->mxAlloc == 0)) ||\n             ((uVar36 != 0 || (-1 < (int)uVar13)))) goto joined_r0x0013fbae;\n          if (pAccum->accError == '\0') {\n            pAccum->zText = (char *)pbVar41;\n            uVar14 = (*sqlite3Config.m.xSize)(pbVar41);\n            pAccum->nAlloc = uVar14;\n            sVar16 = strlen((char *)pbVar41);\n            pAccum->printfFlags = pAccum->printfFlags | 4;\n            pAccum->nChar = (uint)sVar16 & 0x7fffffff;\n            sqlite3_str_append(pAccum,(char *)pbVar41,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar16 = strlen((char *)pbVar41);\n          uVar22 = (uint)sVar16 & 0x7fffffff;\n          goto LAB_0013fa12;\n        }\n        pbVar41 = (byte *)getTextArg(local_d8);\n        if (pbVar41 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar41 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar13 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar15 = pbVar41;\n        if (bVar27 != 0) {\n          while ((pbVar20 = pbVar15, uVar13 = uVar13 - 1, uVar13 != 0xffffffff && (*pbVar20 != 0)))\n          {\n            pbVar15 = pbVar20 + 1;\n            if (0xbf < *pbVar20) {\n              bVar10 = pbVar20[1];\n              while ((bVar10 & 0xc0) == 0x80) {\n                pbVar15 = pbVar15 + 1;\n                bVar10 = *pbVar15;\n              }\n            }\n          }\n          uVar22 = (int)pbVar20 - (int)pbVar41;\n          bVar27 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar13 == 0) || (*pbVar41 == 0)) {\n          uVar22 = 0;\n          goto LAB_0013f018;\n        }\n        lVar34 = 1;\n        do {\n          uVar22 = (uint)lVar34;\n          if ((ulong)(uVar13 - 1) + 1 == lVar34) break;\n          pbVar15 = pbVar41 + lVar34;\n          lVar34 = lVar34 + 1;\n        } while (*pbVar15 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        buf[0] = '%';\n        uVar36 = uVar36 - 1;\n        pbVar41 = (byte *)buf;\n        uVar22 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            ap->gp_offset = uVar22 + 8;\n            uVar1 = *(uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            puVar33 = (uint *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar33 + 2;\n            uVar1 = *puVar33;\n          }\n          if (uVar1 < 0x80) {\n            buf[0] = (byte)uVar1;\n            uVar22 = 1;\n          }\n          else {\n            cVar21 = ((byte)uVar1 & 0x3f) + 0x80;\n            bVar10 = (byte)(uVar1 >> 6);\n            if (uVar1 < 0x800) {\n              buf[1] = cVar21;\n              uVar22 = 2;\n              buf[0] = bVar10 - 0x40;\n            }\n            else {\n              buf[2] = (bVar10 & 0x3f) + 0x80;\n              bVar10 = (byte)(uVar1 >> 0xc);\n              if (uVar1 < 0x10000) {\n                buf[1] = buf[2];\n                uVar22 = 3;\n                buf[0] = bVar10 - 0x20;\n                buf[2] = cVar21;\n              }\n              else {\n                uVar22 = 4;\n                buf[3] = cVar21;\n                buf[0] = ((byte)(uVar1 >> 0x12) & 7) - 0x10;\n                buf[1] = (bVar10 & 0x3f) + 0x80;\n              }\n            }\n          }\n        }\n        else {\n          pbVar41 = (byte *)getTextArg(local_d8);\n          if (pbVar41 == (byte *)0x0) {\n            buf[0] = '\0';\n          }\n          else {\n            buf[0] = *pbVar41;\n            if ((*pbVar41 & 0xc0) == 0xc0) {\n              lVar34 = 1;\n              do {\n                uVar22 = (uint)lVar34;\n                if ((pbVar41[lVar34] & 0xc0) != 0x80) goto joined_r0x0013fa79;\n                buf[lVar34] = pbVar41[lVar34];\n                lVar34 = lVar34 + 1;\n              } while (lVar34 != 4);\n              uVar22 = 4;\n              goto joined_r0x0013fa79;\n            }\n          }\n          uVar22 = 1;\n        }\njoined_r0x0013fa79:\n        if (1 < (int)uVar13) {\n          iVar12 = uVar13 - 1;\n          uVar36 = uVar36 - iVar12;\n          if (((int)uVar36 < 2) || (bVar7)) {\n            local_e0 = (byte *)(ulong)uVar36;\n          }\n          else {\n            sqlite3_str_appendchar(pAccum,uVar36 - 1,' ');\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            sqlite3_str_append(pAccum,buf,uVar22);\n            iVar12 = iVar12 + -1;\n          } while (iVar12 != 0);\n          pbVar26 = local_e0;\n          uVar36 = (uint)local_e0;\n        }\n        if (0 < (int)uVar36) {\n          pbVar41 = (byte *)buf;\n          local_e0 = (byte *)0x0;\n          iVar12 = uVar22 - 1;\n          goto LAB_0013efc6;\n        }\n        pbVar41 = (byte *)buf;\n        sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar10 = (eVar37 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            puVar28 = (undefined8 *)((ulong)uVar22 + (long)ap->reg_save_area);\n            ap->gp_offset = uVar22 + 8;\n          }\n          else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n          }\n          local_e0 = (byte *)*puVar28;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar13 != 0) && (bVar39 = *local_e0, pbVar15 = local_e0, bVar39 != 0))\n          goto LAB_0013f8fa;\n          if (eVar37 != '\n') {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar41 = pbVar20;\n            goto LAB_0013fa0c;\n          }\n          pbVar41 = (byte *)buf;\n          buf[0] = bVar10;\n          lVar34 = 2;\n          uVar22 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar20 = (byte *)(buf + 1);\nLAB_0013fa06:\n          *pbVar20 = bVar10;\n          pbVar20 = pbVar41 + lVar34;\n        }\n        else {\n          local_e0 = (byte *)getTextArg(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar15 = (byte *)0x1e846d;\n          if (eVar37 != '\n') {\n            pbVar15 = &DAT_001e9900;\n          }\n          if (uVar13 == 0) {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            pbVar41 = pbVar20;\n          }\n          else {\n            bVar39 = *pbVar15;\nLAB_0013f8fa:\n            iVar31 = 0;\n            iVar12 = 0;\n            do {\n              iVar32 = iVar12;\n              if (bVar10 == bVar39) {\n                iVar31 = iVar31 + 1;\n              }\n              else if (((bVar27 != 0) && ((bVar39 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U) == 0x80)) {\n                lVar34 = (long)(iVar12 + 1);\n                do {\n                  lVar29 = lVar34 + 1;\n                  iVar32 = (int)lVar34;\n                  lVar34 = lVar34 + 1;\n                } while (((int)(char)pbVar15[lVar29] & 0xc0U) == 0x80);\n              }\n              iVar12 = iVar32 + 1;\n              if (uVar13 == 1) break;\n              uVar13 = uVar13 - 1;\n              bVar39 = pbVar15[iVar12];\n            } while (bVar39 != 0);\n            bVar43 = local_e0 != (byte *)0x0;\n            iVar31 = iVar32 + 4 + iVar31;\n            bVar42 = bVar43 && eVar37 == '\n';\n            if (iVar31 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar41 = (byte *)buf;\n            }\n            else {\n              pbVar41 = (byte *)printfTempBuf(pAccum,(long)iVar31);\n              local_e0 = pbVar41;\n              if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar42) {\n              *pbVar41 = bVar10;\n            }\n            lVar34 = 0;\n            uVar13 = (uint)bVar42;\n            do {\n              while( true ) {\n                bVar39 = pbVar15[lVar34];\n                uVar22 = uVar13 + 1;\n                pbVar41[(int)uVar13] = bVar39;\n                pbVar20 = pbVar41 + (int)uVar22;\n                if (bVar10 != bVar39) break;\n                uVar22 = uVar13 + 2;\n                *pbVar20 = bVar10;\n                lVar34 = lVar34 + 1;\n                pbVar20 = pbVar41 + (int)uVar22;\n                uVar13 = uVar22;\n                if (iVar12 <= (int)lVar34) goto LAB_0013f9fa;\n              }\n              lVar34 = lVar34 + 1;\n              uVar13 = uVar22;\n            } while ((int)lVar34 < iVar12);\nLAB_0013f9fa:\n            if (bVar43 && eVar37 == '\n') {\n              uVar22 = uVar22 + 1;\n              lVar34 = (long)(int)uVar22;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar20 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar36) && (bVar27 != 0)) && (iVar12 = uVar22 - 1, -1 < iVar12)) {\nLAB_0013efc6:\n          lVar34 = (long)iVar12;\n          do {\n            pbVar15 = pbVar41 + lVar34;\n            lVar34 = lVar34 + -1;\n            uVar36 = (int)pbVar26 + (uint)(((int)(char)*pbVar15 & 0xc0U) == 0x80);\n            pbVar26 = (byte *)(ulong)uVar36;\n          } while (-1 < (int)lVar34);\n        }\nLAB_0013eff2:\n        uVar36 = uVar36 - uVar22;\n        goto LAB_0013f018;\n      case '\v':\n        if ((pAccum->printfFlags & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          plVar17 = (long *)((ulong)uVar13 + (long)ap->reg_save_area);\n          ap->gp_offset = uVar13 + 8;\n        }\n        else {\n          plVar17 = (long *)ap->overflow_arg_area;\n          ap->overflow_arg_area = plVar17 + 1;\n        }\n        puVar28 = (undefined8 *)*plVar17;\n        if ((puVar28 == (undefined8 *)0x0) || (*(int *)(puVar28 + 1) == 0)) goto LAB_0013f287;\n        sqlite3_str_append(pAccum,(char *)*puVar28,*(int *)(puVar28 + 1));\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        break;\n      case '\f':\n        if ((pAccum->printfFlags & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          uVar36 = uVar13 + 8;\n          ap->gp_offset = uVar36;\n          lVar34 = *(long *)((long)ap->reg_save_area + (ulong)uVar13);\n          if (0x2f < uVar36) {\n            plVar17 = (long *)ap->overflow_arg_area;\n            goto LAB_0013f46b;\n          }\n          plVar17 = (long *)((long)ap->reg_save_area + (ulong)uVar36);\n          ap->gp_offset = uVar13 + 0x10;\n        }\n        else {\n          plVar4 = (long *)ap->overflow_arg_area;\n          plVar17 = plVar4 + 1;\n          ap->overflow_arg_area = plVar17;\n          lVar34 = *plVar4;\nLAB_0013f46b:\n          ap->overflow_arg_area = plVar17 + 1;\n        }\n        lVar29 = *plVar17;\n        z = *(char **)(lVar34 + 0x10 + (long)(int)lVar29 * 0x70);\n        if (z != (char *)0x0) {\n          sqlite3_str_appendall(pAccum,z);\n          sqlite3_str_append(pAccum,".",1);\n        }\n        sqlite3_str_appendall(pAccum,*(char **)(lVar34 + 0x18 + (long)(int)lVar29 * 0x70));\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        break;\n      case '\r':\n        bVar40 = fmtinfo[iVar31].flags & 1;\n        if ((fmtinfo[iVar31].flags & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar22 = ap->gp_offset;\n          bVar40 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar40 = 0;\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar10 = pbVar30[1];\njoined_r0x0013ebb8:\n      fmt = (char *)(pbVar30 + 1);\n    } while (bVar10 != 0);\n  }" if (parenthesized_expression "(bVar10 != 0)" ( (binary_expression "bVar10 != 0" identifier != number_literal) )) (compound_statement "{\n    pbVar41 = (byte *)0x0;\n    do {\n      pbVar15 = (byte *)fmt;\n      if (bVar10 != 0x25) {\n        pbVar15 = (byte *)strchrnul(fmt,0x25);\n        sqlite3_str_append(pAccum,fmt,(int)pbVar15 - (int)fmt);\n        pbVar41 = (byte *)fmt;\n        if (*pbVar15 == 0) break;\n      }\n      iVar12 = (int)(char)pbVar15[1];\n      if (pbVar15[1] == 0) {\n        sqlite3_str_append(pAccum,"%",1);\n        break;\n      }\n      bVar42 = false;\n      uVar13 = 0xffffffff;\n      bVar40 = 0;\n      bVar27 = 0;\n      bVar7 = false;\n      bVar39 = 0;\n      bVar10 = 0;\n      pbVar26 = (byte *)0x0;\n      pbVar15 = pbVar15 + 1;\n      do {\n        pbVar30 = pbVar15;\n        switch(iVar12) {\n        case 0x20:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar10 = 0x20;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x21:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar27 = 1;\n          pbVar30 = pbVar15 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar39 = 1;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar36 = ap->gp_offset;\n            if (uVar36 < 0x30) {\n              puVar33 = (uint *)((ulong)uVar36 + (long)ap->reg_save_area);\n              ap->gp_offset = uVar36 + 8;\n            }\n            else {\n              puVar33 = (uint *)ap->overflow_arg_area;\n              ap->overflow_arg_area = puVar33 + 2;\n            }\n            pbVar26 = (byte *)(ulong)*puVar33;\n          }\n          else {\n            uVar18 = getIntArg(local_d8);\n            pbVar26 = (byte *)(uVar18 & 0xffffffff);\n          }\n          iVar12 = (int)pbVar26;\n          if (iVar12 < 0) {\n            if (iVar12 == -0x80000000) {\n              bVar7 = true;\n              pbVar26 = (byte *)0x0;\n            }\n            else {\n              pbVar26 = (byte *)(ulong)(uint)-iVar12;\n              bVar7 = true;\n            }\n          }\n          iVar12 = (int)(char)pbVar15[1];\n          pbVar30 = pbVar15 + 1;\n          if ((iVar12 != 0x6c) && (iVar12 != 0x2e)) {\n            cVar21 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar10 = 0x2b;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2c:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar40 = 0x2c;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2d:\n          bVar7 = true;\n          iVar12 = (int)(char)pbVar15[1];\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2e:\n          iVar12 = (int)(char)pbVar15[1];\n          if (iVar12 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar13 = ap->gp_offset;\n              if (uVar13 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar13 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar13 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar36 = *puVar33;\n            }\n            else {\n              sVar19 = getIntArg(local_d8);\n              uVar36 = (uint)sVar19;\n            }\n            uVar13 = uVar36;\n            if (((int)uVar36 < 0) && (uVar13 = -uVar36, uVar36 == 0x80000000)) {\n              uVar13 = 0xffffffff;\n            }\n            iVar12 = (int)(char)pbVar15[2];\n            pbVar30 = pbVar15 + 2;\n          }\n          else {\n            pbVar30 = pbVar15 + 1;\n            uVar13 = 0;\n            if (iVar12 - 0x30U < 10) {\n              do {\n                pbVar30 = pbVar30 + 1;\n                uVar13 = iVar12 + -0x30 + uVar13 * 10;\n                iVar12 = (int)(char)*pbVar30;\n              } while (iVar12 - 0x30U < 10);\n              uVar13 = uVar13 & 0x7fffffff;\n            }\n          }\n          if (iVar12 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar12 = (int)(char)*pbVar30;\n          break;\n        case 0x30:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar42 = true;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar31 = (int)(char)pbVar15[1];\n          pbVar26 = (byte *)(ulong)(iVar12 - 0x30);\n          pbVar30 = pbVar15 + 1;\n          iVar12 = iVar31;\n          if (iVar31 - 0x30U < 10) {\n            do {\n              pbVar15 = pbVar30;\n              pbVar30 = pbVar15 + 1;\n              uVar36 = iVar31 + -0x30 + (int)pbVar26 * 10;\n              pbVar26 = (byte *)(ulong)uVar36;\n              iVar31 = (int)(char)pbVar15[1];\n            } while (iVar31 - 0x30U < 10);\n            pbVar26 = (byte *)(ulong)(uVar36 & 0x7fffffff);\n            iVar12 = iVar31;\n          }\n          if ((iVar12 != 0x2e) && (iVar12 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          pbVar30 = pbVar15 + 1;\n          iVar12 = (int)(char)pbVar15[1];\n          break;\n        case 0x6c:\n          iVar12 = (int)(char)pbVar15[1];\n          if (iVar12 == 0x6c) {\n            iVar12 = (int)(char)pbVar15[2];\n            cVar21 = '\x02';\n            pbVar30 = pbVar15 + 2;\n          }\n          else {\n            pbVar30 = pbVar15 + 1;\n            cVar21 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar15 = pbVar30;\n      } while (iVar12 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar21 = '\0';\nLAB_0013e9c2:\n      uVar36 = (uint)pbVar26;\n      peVar38 = fmtinfo;\n      iVar31 = 0;\n      iVar32 = 100;\n      while (peVar38 = peVar38 + 1, iVar32 != iVar12) {\n        iVar31 = iVar31 + 1;\n        if (iVar31 == 0x17) goto switchD_0013ea21_caseD_11;\n        iVar32 = (int)peVar38->fmttype;\n      }\n      eVar37 = fmtinfo[iVar31].type;\n      switch(eVar37) {\n      case '\0':\n      case '\x0f':\n        bVar40 = 0;\n      case '\x10':\n        if ((fmtinfo[iVar31].flags & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar18 = (ulong)*puVar33;\n              bVar10 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              bVar10 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar18 = getIntArg(local_d8);\n            bVar10 = 0;\n          }\nLAB_0013f51d:\n          if (uVar18 == 0) {\n            bVar39 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                piVar24 = (int *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                piVar24 = (int *)ap->overflow_arg_area;\n                ap->overflow_arg_area = piVar24 + 2;\n              }\n              uVar18 = (ulong)*piVar24;\n              if ((long)uVar18 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              if ((long)uVar18 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar18 = getIntArg(local_d8);\n          if (-1 < (long)uVar18) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar18 == 0x8000000000000000) {\n            bVar10 = 0x2d;\n            uVar18 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar18 = -uVar18;\n            bVar10 = 0x2d;\n          }\n        }\n        if ((bVar42) && (uVar22 = uVar36 - (bVar10 != 0), (int)uVar13 < (int)uVar22)) {\n          uVar13 = uVar22;\n        }\n        if ((int)uVar13 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar15 = (byte *)(buf + 0x45);\n        }\n        else {\n          sVar19 = (long)(int)uVar13 + 10;\n          if (bVar40 != 0) {\n            sVar19 = sVar19 + (int)uVar13 / 3;\n          }\n          local_e0 = (byte *)printfTempBuf(pAccum,sVar19);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar15 = local_e0 + (long)(int)sVar19 + -1;\n        }\n        pbVar26 = pbVar15;\n        if (eVar37 == '\x0f') {\n          if ((uVar18 % 10 < 4) && ((uVar18 / 10) % 10 != 1)) {\n            iVar12 = (int)(uVar18 % 10) * 2;\n            bVar27 = "thstndrd"[iVar12 + 1];\n            bVar11 = "thstndrd"[iVar12];\n          }\n          else {\n            bVar11 = 0x74;\n            bVar27 = 0x68;\n          }\n          pbVar15[-1] = bVar27;\n          pbVar26 = pbVar15 + -2;\n          pbVar15[-2] = bVar11;\n        }\n        bVar27 = fmtinfo[iVar31].charset;\n        uVar35 = (ulong)fmtinfo[iVar31].base;\n        do {\n          pbVar26 = pbVar26 + -1;\n          *pbVar26 = "0123456789ABCDEF0123456789abcdef"[uVar18 % uVar35 + (ulong)bVar27];\n          bVar42 = uVar35 <= uVar18;\n          uVar18 = uVar18 / uVar35;\n        } while (bVar42);\n        uVar22 = (int)pbVar15 - (int)pbVar26;\n        pbVar41 = pbVar26;\n        if ((int)uVar22 < (int)uVar13) {\n          pbVar41 = pbVar26 + ~(ulong)((uVar13 - 1) - uVar22);\n          do {\n            pbVar26 = pbVar26 + -1;\n            *pbVar26 = 0x30;\n            uVar22 = uVar13;\n          } while (pbVar26 != pbVar41);\n        }\n        if (bVar40 != 0) {\n          iVar32 = (int)(uVar22 - 1) / 3;\n          iVar12 = (int)(uVar22 - 1) % 3 + 1;\n          pbVar41 = pbVar41 + -(long)iVar32;\n          if (iVar32 != 0) {\n            iVar8 = 0;\n            while( true ) {\n              do {\n                iVar23 = iVar8;\n                pbVar41[iVar23] = pbVar41[iVar32 + iVar23];\n                iVar12 = iVar12 + -1;\n                iVar8 = iVar23 + 1;\n              } while (iVar12 != 0);\n              pbVar41[iVar23 + 1] = bVar40;\n              iVar32 = iVar32 + -1;\n              if (iVar32 == 0) break;\n              iVar12 = 3;\n              iVar8 = iVar23 + 2;\n            }\n          }\n        }\n        if (bVar10 != 0) {\n          pbVar41[-1] = bVar10;\n          pbVar41 = pbVar41 + -1;\n        }\n        if ((bVar39 != 0) && (bVar10 = fmtinfo[iVar31].prefix, bVar10 != 0)) {\n          pbVar26 = (byte *)("-x0" + bVar10);\n          bVar10 = "-x0"[bVar10];\n          while (bVar10 != 0) {\n            pbVar41 = pbVar41 + -1;\n            pbVar26 = pbVar26 + 1;\n            *pbVar41 = bVar10;\n            bVar10 = *pbVar26;\n          }\n        }\n        uVar22 = (int)pbVar15 - (int)pbVar41;\n        uVar36 = uVar36 - uVar22;\nLAB_0013f018:\n        if ((int)uVar36 < 1) {\nLAB_0013fd63:\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }\n        else if (bVar7) {\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n        }\n        else {\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }\n        if (local_e0 != (byte *)0x0) {\n          sqlite3DbFreeNN(pAccum->db,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar22 = ap->fp_offset;\n          if (uVar22 < 0xb0) {\n            ap->fp_offset = uVar22 + 0x10;\n            dVar44 = *(double *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            pdVar3 = (double *)ap->overflow_arg_area;\n            ap->overflow_arg_area = pdVar3 + 1;\n            dVar44 = *pdVar3;\n          }\n          if (uVar13 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar43 = 0 < (int)uVar13;\n        }\n        else {\n          iVar12 = local_d8->nUsed;\n          if (iVar12 < local_d8->nArg) {\n            local_d8->nUsed = iVar12 + 1;\n            dVar44 = sqlite3_value_double(local_d8->apArg[iVar12]);\n          }\n          else {\n            dVar44 = 0.0;\n          }\n          if (uVar13 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar43 = true;\n          uVar13 = 6;\n        }\n        if (dVar44 < 0.0) {\n          dVar44 = -dVar44;\n          bVar10 = 0x2d;\n        }\n        dVar45 = DAT_001fae78;\n        if ((eVar37 != '\x03') || (!bVar43)) {\n          uVar22 = uVar13 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar13 = uVar13 - 1;\n        uVar22 = uVar13 & 0xfff;\n        if (uVar22 != 0) {\n          do {\n            dVar45 = dVar45 * DAT_001faf40;\n            uVar22 = uVar22 - 1;\njoined_r0x0013ec49:\n          } while (uVar22 != 0);\n          if (eVar37 == '\x01') {\n            dVar44 = dVar45 + dVar44;\n          }\n        }\n        if (NAN(dVar44)) {\n          uVar36 = uVar36 - 3;\n          uVar22 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar41 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar18 = 0;\n        if (0.0 < dVar44) {\n          dVar5 = _DAT_001faf38;\n          if (dVar44 < _DAT_001faf38) {\n            dVar5 = (double)_DAT_001fae18;\n            bVar43 = true;\n            dVar6 = 1.0;\n          }\n          else {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 100;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = _DAT_001faf38 * dVar6;\n            } while (_DAT_001faf38 * dVar6 <= dVar44 && (int)uVar22 < 0x15f);\n            dVar5 = dVar6 * (double)_DAT_001fae18;\n          }\n          if ((dVar5 <= dVar44) && (bVar43)) {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 10;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = dVar6 * (double)_DAT_001fae18;\n            } while (dVar6 * (double)_DAT_001fae18 <= dVar44 && bVar43);\n          }\n          dVar5 = (double)_DAT_001fae10;\n          if ((dVar6 * dVar5 <= dVar44) && (dVar9 = dVar6 * dVar5, bVar43)) {\n            do {\n              dVar6 = dVar9;\n              uVar22 = (int)uVar18 + 1;\n              uVar18 = (ulong)uVar22;\n              dVar9 = dVar6 * dVar5;\n            } while ((int)uVar22 < 0x15f && dVar6 * dVar5 <= dVar44);\n          }\n          for (dVar44 = dVar44 / dVar6; dVar44 < _DAT_001faf48;\n              dVar44 = dVar44 * (double)_DAT_001fae1c) {\n            uVar18 = (ulong)((int)uVar18 - 8);\n          }\n          for (; dVar44 < 1.0; dVar44 = dVar44 * dVar5) {\n            uVar18 = (ulong)((int)uVar18 - 1);\n          }\n          if (0x15e < (int)uVar18) {\n            pbVar41 = (byte *)buf;\n            pbVar15 = pbVar41 + (bVar10 != 0);\n            buf[0] = bVar10;\n            pbVar15[0] = 0x49;\n            pbVar15[1] = 0x6e;\n            pbVar15[2] = 0x66;\n            pbVar15[3] = 0;\n            if (bVar10 == 0) {\n              uVar36 = uVar36 - 3;\n              uVar22 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              uVar36 = uVar36 - 4;\n              uVar22 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar18;\n        local_b5 = bVar27;\n        if (eVar37 == '\x01') {\n          iVar12 = 0;\n          if (-1 < local_c8) {\n            iVar12 = local_c8;\n          }\n          lVar34 = (long)iVar12;\n        }\n        else {\n          dVar44 = dVar45 + dVar44;\n          if ((double)_DAT_001fae10 <= dVar44) {\n            dVar44 = dVar44 * DAT_001faf40;\n            uVar18 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar18;\n          if (eVar37 == '\x03') {\n            local_b5 = bVar39 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar13 < local_c8)) {\n              lVar34 = 0;\n              eVar37 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar13 = uVar13 - local_c8;\n              iVar12 = 0;\n              if (-1 < local_c8) {\n                iVar12 = local_c8;\n              }\n              eVar37 = '\x01';\n              lVar34 = (long)iVar12;\n            }\n          }\n          else if (eVar37 == '\x02') {\n            lVar34 = 0;\n            local_c8 = 0;\n          }\n          else {\n            eVar37 = '\x01';\n            iVar12 = 0;\n            if (-1 < local_c8) {\n              iVar12 = local_c8;\n            }\n            lVar34 = (long)iVar12;\n          }\n        }\n        lVar29 = (long)(int)uVar36;\n        lVar34 = lVar34 + (int)uVar13 + 0xf + lVar29;\n        if (lVar34 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar41 = (byte *)buf;\n        }\n        else {\n          pbVar41 = (byte *)printfTempBuf(pAccum,lVar34);\n          local_e0 = pbVar41;\n          if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar12 = (uint)bVar27 * 10 + 0x10;\n        bVar43 = 0 < (int)uVar13;\n        pbVar26 = pbVar41;\n        pbVar15 = pbVar41 + 1;\n        if (bVar10 != 0) {\n          *pbVar41 = bVar10;\n          pbVar15 = pbVar41 + 2;\n          pbVar26 = pbVar41 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar26 = 0x30;\n          uVar22 = local_c8 + 1;\n          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar26 = pbVar15 + 1;\n            *pbVar15 = 0x2e;\n            pbVar15 = pbVar26;\n            if (uVar22 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar26 = pbVar15;\n            do {\n              pbVar20 = pbVar26 + 1;\n              *pbVar26 = 0x30;\n              pbVar26 = pbVar20;\n            } while (pbVar20 != pbVar15 + (ulong)~uVar22 + 1);\n            uVar13 = (uVar13 - 1) + local_c8 + 2;\n            pbVar15 = pbVar15 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar13) {\n              pbVar26 = pbVar15;\n              do {\n                while (pbVar20 = pbVar26 + 1, 0 < iVar12) {\n                  iVar12 = iVar12 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar44);\n                  *pbVar26 = (char)local_c8 + 0x30;\n                  dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n                  pbVar26 = pbVar20;\n                  if (pbVar20 == pbVar15 + (ulong)(uVar13 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar26 = 0x30;\n                pbVar26 = pbVar20;\n              } while (pbVar20 != pbVar15 + (ulong)(uVar13 - 1) + 1);\nLAB_0013ee39:\n              pbVar15 = pbVar15 + (ulong)(uVar13 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar22 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar15 = pbVar26 + (long)local_c8 + 1;\n          do {\n            while (pbVar20 = pbVar26, pbVar26 = pbVar20 + 1, 0 < iVar12) {\n              iVar12 = iVar12 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar44);\n              *pbVar20 = (char)local_c8 + 0x30;\n              dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n              if (pbVar26 == pbVar15) goto LAB_0013fe8d;\n            }\n            *pbVar20 = 0x30;\n          } while (pbVar26 != pbVar15);\nLAB_0013fe8d:\n          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar15 = pbVar20 + 2;\n            *pbVar26 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar43 || (bVar39 != 0 || bVar27 != 0))) {\n            while (pbVar15[-1] == 0x30) {\n              pbVar15 = pbVar15 + -1;\n              *pbVar15 = 0;\n            }\n            if (pbVar15[-1] == 0x2e) {\n              if (bVar27 == 0) {\n                pbVar15[-1] = 0;\n                pbVar15 = pbVar15 + -1;\n              }\n              else {\n                *pbVar15 = 0x30;\n                pbVar15 = pbVar15 + 1;\n              }\n            }\n          }\n        }\n        if (eVar37 == '\x02') {\n          pbVar26 = pbVar15 + 2;\n          *pbVar15 = "0123456789ABCDEF0123456789abcdef"[fmtinfo[iVar31].charset];\n          bVar27 = 0x2b;\n          if ((int)uVar18 < 0) {\n            uVar18 = (ulong)(uint)-(int)uVar18;\n            bVar27 = 0x2d;\n          }\n          pbVar15[1] = bVar27;\n          if (99 < (int)uVar18) {\n            pbVar26 = pbVar15 + 3;\n            pbVar15[2] = (char)(uVar18 / 100) + 0x30;\n            uVar18 = (ulong)(uint)((int)uVar18 + (int)(uVar18 / 100) * -100);\n          }\n          pbVar15 = pbVar26 + 2;\n          cVar21 = (char)(uVar18 / 10);\n          *pbVar26 = cVar21 + 0x30;\n          pbVar26[1] = (char)uVar18 + cVar21 * -10 + 0x30;\n        }\n        *pbVar15 = 0;\n        uVar22 = (int)pbVar15 - (int)pbVar41;\n        if (!(bool)(bVar42 & (bVar7 ^ 1U))) {\n          uVar36 = uVar36 - uVar22;\n          goto LAB_0013f018;\n        }\n        if ((int)uVar22 < (int)uVar36) {\n          iVar12 = uVar36 - uVar22;\n          if (iVar12 <= (int)uVar36) {\n            do {\n              pbVar41[lVar29] = pbVar41[lVar29 - iVar12];\n              lVar29 = lVar29 + -1;\n            } while (iVar12 <= (int)lVar29);\n          }\n          pbVar15 = pbVar41 + (bVar10 != 0);\n          do {\n            *pbVar15 = 0x30;\n            pbVar15 = pbVar15 + 1;\n            uVar22 = uVar36;\n          } while (pbVar41 + (ulong)(iVar12 - 1) + (ulong)(bVar10 != 0) + 1 != pbVar15);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          sqlite3_str_append(pAccum,(char *)pbVar41,0);\n          break;\n        }\n        uVar14 = pAccum->nChar;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          puVar28 = (undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area);\n          ap->gp_offset = uVar13 + 8;\n        }\n        else {\n          puVar28 = (undefined8 *)ap->overflow_arg_area;\n          ap->overflow_arg_area = puVar28 + 1;\n        }\n        *(u32 *)*puVar28 = uVar14;\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        bVar10 = pbVar30[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            ap->gp_offset = uVar22 + 8;\n            pbVar41 = *(byte **)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n            pbVar41 = (byte *)*puVar28;\n          }\n          if (pbVar41 == (byte *)0x0) goto LAB_0013fb9a;\n          if (eVar37 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar41;\n          if (((pAccum->nChar != 0) || (pAccum->mxAlloc == 0)) ||\n             ((uVar36 != 0 || (-1 < (int)uVar13)))) goto joined_r0x0013fbae;\n          if (pAccum->accError == '\0') {\n            pAccum->zText = (char *)pbVar41;\n            uVar14 = (*sqlite3Config.m.xSize)(pbVar41);\n            pAccum->nAlloc = uVar14;\n            sVar16 = strlen((char *)pbVar41);\n            pAccum->printfFlags = pAccum->printfFlags | 4;\n            pAccum->nChar = (uint)sVar16 & 0x7fffffff;\n            sqlite3_str_append(pAccum,(char *)pbVar41,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar16 = strlen((char *)pbVar41);\n          uVar22 = (uint)sVar16 & 0x7fffffff;\n          goto LAB_0013fa12;\n        }\n        pbVar41 = (byte *)getTextArg(local_d8);\n        if (pbVar41 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar41 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar13 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar15 = pbVar41;\n        if (bVar27 != 0) {\n          while ((pbVar20 = pbVar15, uVar13 = uVar13 - 1, uVar13 != 0xffffffff && (*pbVar20 != 0)))\n          {\n            pbVar15 = pbVar20 + 1;\n            if (0xbf < *pbVar20) {\n              bVar10 = pbVar20[1];\n              while ((bVar10 & 0xc0) == 0x80) {\n                pbVar15 = pbVar15 + 1;\n                bVar10 = *pbVar15;\n              }\n            }\n          }\n          uVar22 = (int)pbVar20 - (int)pbVar41;\n          bVar27 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar13 == 0) || (*pbVar41 == 0)) {\n          uVar22 = 0;\n          goto LAB_0013f018;\n        }\n        lVar34 = 1;\n        do {\n          uVar22 = (uint)lVar34;\n          if ((ulong)(uVar13 - 1) + 1 == lVar34) break;\n          pbVar15 = pbVar41 + lVar34;\n          lVar34 = lVar34 + 1;\n        } while (*pbVar15 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        buf[0] = '%';\n        uVar36 = uVar36 - 1;\n        pbVar41 = (byte *)buf;\n        uVar22 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            ap->gp_offset = uVar22 + 8;\n            uVar1 = *(uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            puVar33 = (uint *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar33 + 2;\n            uVar1 = *puVar33;\n          }\n          if (uVar1 < 0x80) {\n            buf[0] = (byte)uVar1;\n            uVar22 = 1;\n          }\n          else {\n            cVar21 = ((byte)uVar1 & 0x3f) + 0x80;\n            bVar10 = (byte)(uVar1 >> 6);\n            if (uVar1 < 0x800) {\n              buf[1] = cVar21;\n              uVar22 = 2;\n              buf[0] = bVar10 - 0x40;\n            }\n            else {\n              buf[2] = (bVar10 & 0x3f) + 0x80;\n              bVar10 = (byte)(uVar1 >> 0xc);\n              if (uVar1 < 0x10000) {\n                buf[1] = buf[2];\n                uVar22 = 3;\n                buf[0] = bVar10 - 0x20;\n                buf[2] = cVar21;\n              }\n              else {\n                uVar22 = 4;\n                buf[3] = cVar21;\n                buf[0] = ((byte)(uVar1 >> 0x12) & 7) - 0x10;\n                buf[1] = (bVar10 & 0x3f) + 0x80;\n              }\n            }\n          }\n        }\n        else {\n          pbVar41 = (byte *)getTextArg(local_d8);\n          if (pbVar41 == (byte *)0x0) {\n            buf[0] = '\0';\n          }\n          else {\n            buf[0] = *pbVar41;\n            if ((*pbVar41 & 0xc0) == 0xc0) {\n              lVar34 = 1;\n              do {\n                uVar22 = (uint)lVar34;\n                if ((pbVar41[lVar34] & 0xc0) != 0x80) goto joined_r0x0013fa79;\n                buf[lVar34] = pbVar41[lVar34];\n                lVar34 = lVar34 + 1;\n              } while (lVar34 != 4);\n              uVar22 = 4;\n              goto joined_r0x0013fa79;\n            }\n          }\n          uVar22 = 1;\n        }\njoined_r0x0013fa79:\n        if (1 < (int)uVar13) {\n          iVar12 = uVar13 - 1;\n          uVar36 = uVar36 - iVar12;\n          if (((int)uVar36 < 2) || (bVar7)) {\n            local_e0 = (byte *)(ulong)uVar36;\n          }\n          else {\n            sqlite3_str_appendchar(pAccum,uVar36 - 1,' ');\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            sqlite3_str_append(pAccum,buf,uVar22);\n            iVar12 = iVar12 + -1;\n          } while (iVar12 != 0);\n          pbVar26 = local_e0;\n          uVar36 = (uint)local_e0;\n        }\n        if (0 < (int)uVar36) {\n          pbVar41 = (byte *)buf;\n          local_e0 = (byte *)0x0;\n          iVar12 = uVar22 - 1;\n          goto LAB_0013efc6;\n        }\n        pbVar41 = (byte *)buf;\n        sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar10 = (eVar37 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            puVar28 = (undefined8 *)((ulong)uVar22 + (long)ap->reg_save_area);\n            ap->gp_offset = uVar22 + 8;\n          }\n          else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n          }\n          local_e0 = (byte *)*puVar28;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar13 != 0) && (bVar39 = *local_e0, pbVar15 = local_e0, bVar39 != 0))\n          goto LAB_0013f8fa;\n          if (eVar37 != '\n') {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar41 = pbVar20;\n            goto LAB_0013fa0c;\n          }\n          pbVar41 = (byte *)buf;\n          buf[0] = bVar10;\n          lVar34 = 2;\n          uVar22 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar20 = (byte *)(buf + 1);\nLAB_0013fa06:\n          *pbVar20 = bVar10;\n          pbVar20 = pbVar41 + lVar34;\n        }\n        else {\n          local_e0 = (byte *)getTextArg(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar15 = (byte *)0x1e846d;\n          if (eVar37 != '\n') {\n            pbVar15 = &DAT_001e9900;\n          }\n          if (uVar13 == 0) {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            pbVar41 = pbVar20;\n          }\n          else {\n            bVar39 = *pbVar15;\nLAB_0013f8fa:\n            iVar31 = 0;\n            iVar12 = 0;\n            do {\n              iVar32 = iVar12;\n              if (bVar10 == bVar39) {\n                iVar31 = iVar31 + 1;\n              }\n              else if (((bVar27 != 0) && ((bVar39 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U) == 0x80)) {\n                lVar34 = (long)(iVar12 + 1);\n                do {\n                  lVar29 = lVar34 + 1;\n                  iVar32 = (int)lVar34;\n                  lVar34 = lVar34 + 1;\n                } while (((int)(char)pbVar15[lVar29] & 0xc0U) == 0x80);\n              }\n              iVar12 = iVar32 + 1;\n              if (uVar13 == 1) break;\n              uVar13 = uVar13 - 1;\n              bVar39 = pbVar15[iVar12];\n            } while (bVar39 != 0);\n            bVar43 = local_e0 != (byte *)0x0;\n            iVar31 = iVar32 + 4 + iVar31;\n            bVar42 = bVar43 && eVar37 == '\n';\n            if (iVar31 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar41 = (byte *)buf;\n            }\n            else {\n              pbVar41 = (byte *)printfTempBuf(pAccum,(long)iVar31);\n              local_e0 = pbVar41;\n              if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar42) {\n              *pbVar41 = bVar10;\n            }\n            lVar34 = 0;\n            uVar13 = (uint)bVar42;\n            do {\n              while( true ) {\n                bVar39 = pbVar15[lVar34];\n                uVar22 = uVar13 + 1;\n                pbVar41[(int)uVar13] = bVar39;\n                pbVar20 = pbVar41 + (int)uVar22;\n                if (bVar10 != bVar39) break;\n                uVar22 = uVar13 + 2;\n                *pbVar20 = bVar10;\n                lVar34 = lVar34 + 1;\n                pbVar20 = pbVar41 + (int)uVar22;\n                uVar13 = uVar22;\n                if (iVar12 <= (int)lVar34) goto LAB_0013f9fa;\n              }\n              lVar34 = lVar34 + 1;\n              uVar13 = uVar22;\n            } while ((int)lVar34 < iVar12);\nLAB_0013f9fa:\n            if (bVar43 && eVar37 == '\n') {\n              uVar22 = uVar22 + 1;\n              lVar34 = (long)(int)uVar22;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar20 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar36) && (bVar27 != 0)) && (iVar12 = uVar22 - 1, -1 < iVar12)) {\nLAB_0013efc6:\n          lVar34 = (long)iVar12;\n          do {\n            pbVar15 = pbVar41 + lVar34;\n            lVar34 = lVar34 + -1;\n            uVar36 = (int)pbVar26 + (uint)(((int)(char)*pbVar15 & 0xc0U) == 0x80);\n            pbVar26 = (byte *)(ulong)uVar36;\n          } while (-1 < (int)lVar34);\n        }\nLAB_0013eff2:\n        uVar36 = uVar36 - uVar22;\n        goto LAB_0013f018;\n      case '\v':\n        if ((pAccum->printfFlags & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          plVar17 = (long *)((ulong)uVar13 + (long)ap->reg_save_area);\n          ap->gp_offset = uVar13 + 8;\n        }\n        else {\n          plVar17 = (long *)ap->overflow_arg_area;\n          ap->overflow_arg_area = plVar17 + 1;\n        }\n        puVar28 = (undefined8 *)*plVar17;\n        if ((puVar28 == (undefined8 *)0x0) || (*(int *)(puVar28 + 1) == 0)) goto LAB_0013f287;\n        sqlite3_str_append(pAccum,(char *)*puVar28,*(int *)(puVar28 + 1));\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        break;\n      case '\f':\n        if ((pAccum->printfFlags & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          uVar36 = uVar13 + 8;\n          ap->gp_offset = uVar36;\n          lVar34 = *(long *)((long)ap->reg_save_area + (ulong)uVar13);\n          if (0x2f < uVar36) {\n            plVar17 = (long *)ap->overflow_arg_area;\n            goto LAB_0013f46b;\n          }\n          plVar17 = (long *)((long)ap->reg_save_area + (ulong)uVar36);\n          ap->gp_offset = uVar13 + 0x10;\n        }\n        else {\n          plVar4 = (long *)ap->overflow_arg_area;\n          plVar17 = plVar4 + 1;\n          ap->overflow_arg_area = plVar17;\n          lVar34 = *plVar4;\nLAB_0013f46b:\n          ap->overflow_arg_area = plVar17 + 1;\n        }\n        lVar29 = *plVar17;\n        z = *(char **)(lVar34 + 0x10 + (long)(int)lVar29 * 0x70);\n        if (z != (char *)0x0) {\n          sqlite3_str_appendall(pAccum,z);\n          sqlite3_str_append(pAccum,".",1);\n        }\n        sqlite3_str_appendall(pAccum,*(char **)(lVar34 + 0x18 + (long)(int)lVar29 * 0x70));\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        break;\n      case '\r':\n        bVar40 = fmtinfo[iVar31].flags & 1;\n        if ((fmtinfo[iVar31].flags & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar22 = ap->gp_offset;\n          bVar40 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar40 = 0;\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar10 = pbVar30[1];\njoined_r0x0013ebb8:\n      fmt = (char *)(pbVar30 + 1);\n    } while (bVar10 != 0);\n  }" { (expression_statement "pbVar41 = (byte *)0x0;" (assignment_expression "pbVar41 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      pbVar15 = (byte *)fmt;\n      if (bVar10 != 0x25) {\n        pbVar15 = (byte *)strchrnul(fmt,0x25);\n        sqlite3_str_append(pAccum,fmt,(int)pbVar15 - (int)fmt);\n        pbVar41 = (byte *)fmt;\n        if (*pbVar15 == 0) break;\n      }\n      iVar12 = (int)(char)pbVar15[1];\n      if (pbVar15[1] == 0) {\n        sqlite3_str_append(pAccum,"%",1);\n        break;\n      }\n      bVar42 = false;\n      uVar13 = 0xffffffff;\n      bVar40 = 0;\n      bVar27 = 0;\n      bVar7 = false;\n      bVar39 = 0;\n      bVar10 = 0;\n      pbVar26 = (byte *)0x0;\n      pbVar15 = pbVar15 + 1;\n      do {\n        pbVar30 = pbVar15;\n        switch(iVar12) {\n        case 0x20:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar10 = 0x20;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x21:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar27 = 1;\n          pbVar30 = pbVar15 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar39 = 1;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar36 = ap->gp_offset;\n            if (uVar36 < 0x30) {\n              puVar33 = (uint *)((ulong)uVar36 + (long)ap->reg_save_area);\n              ap->gp_offset = uVar36 + 8;\n            }\n            else {\n              puVar33 = (uint *)ap->overflow_arg_area;\n              ap->overflow_arg_area = puVar33 + 2;\n            }\n            pbVar26 = (byte *)(ulong)*puVar33;\n          }\n          else {\n            uVar18 = getIntArg(local_d8);\n            pbVar26 = (byte *)(uVar18 & 0xffffffff);\n          }\n          iVar12 = (int)pbVar26;\n          if (iVar12 < 0) {\n            if (iVar12 == -0x80000000) {\n              bVar7 = true;\n              pbVar26 = (byte *)0x0;\n            }\n            else {\n              pbVar26 = (byte *)(ulong)(uint)-iVar12;\n              bVar7 = true;\n            }\n          }\n          iVar12 = (int)(char)pbVar15[1];\n          pbVar30 = pbVar15 + 1;\n          if ((iVar12 != 0x6c) && (iVar12 != 0x2e)) {\n            cVar21 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar10 = 0x2b;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2c:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar40 = 0x2c;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2d:\n          bVar7 = true;\n          iVar12 = (int)(char)pbVar15[1];\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2e:\n          iVar12 = (int)(char)pbVar15[1];\n          if (iVar12 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar13 = ap->gp_offset;\n              if (uVar13 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar13 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar13 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar36 = *puVar33;\n            }\n            else {\n              sVar19 = getIntArg(local_d8);\n              uVar36 = (uint)sVar19;\n            }\n            uVar13 = uVar36;\n            if (((int)uVar36 < 0) && (uVar13 = -uVar36, uVar36 == 0x80000000)) {\n              uVar13 = 0xffffffff;\n            }\n            iVar12 = (int)(char)pbVar15[2];\n            pbVar30 = pbVar15 + 2;\n          }\n          else {\n            pbVar30 = pbVar15 + 1;\n            uVar13 = 0;\n            if (iVar12 - 0x30U < 10) {\n              do {\n                pbVar30 = pbVar30 + 1;\n                uVar13 = iVar12 + -0x30 + uVar13 * 10;\n                iVar12 = (int)(char)*pbVar30;\n              } while (iVar12 - 0x30U < 10);\n              uVar13 = uVar13 & 0x7fffffff;\n            }\n          }\n          if (iVar12 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar12 = (int)(char)*pbVar30;\n          break;\n        case 0x30:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar42 = true;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar31 = (int)(char)pbVar15[1];\n          pbVar26 = (byte *)(ulong)(iVar12 - 0x30);\n          pbVar30 = pbVar15 + 1;\n          iVar12 = iVar31;\n          if (iVar31 - 0x30U < 10) {\n            do {\n              pbVar15 = pbVar30;\n              pbVar30 = pbVar15 + 1;\n              uVar36 = iVar31 + -0x30 + (int)pbVar26 * 10;\n              pbVar26 = (byte *)(ulong)uVar36;\n              iVar31 = (int)(char)pbVar15[1];\n            } while (iVar31 - 0x30U < 10);\n            pbVar26 = (byte *)(ulong)(uVar36 & 0x7fffffff);\n            iVar12 = iVar31;\n          }\n          if ((iVar12 != 0x2e) && (iVar12 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          pbVar30 = pbVar15 + 1;\n          iVar12 = (int)(char)pbVar15[1];\n          break;\n        case 0x6c:\n          iVar12 = (int)(char)pbVar15[1];\n          if (iVar12 == 0x6c) {\n            iVar12 = (int)(char)pbVar15[2];\n            cVar21 = '\x02';\n            pbVar30 = pbVar15 + 2;\n          }\n          else {\n            pbVar30 = pbVar15 + 1;\n            cVar21 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar15 = pbVar30;\n      } while (iVar12 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar21 = '\0';\nLAB_0013e9c2:\n      uVar36 = (uint)pbVar26;\n      peVar38 = fmtinfo;\n      iVar31 = 0;\n      iVar32 = 100;\n      while (peVar38 = peVar38 + 1, iVar32 != iVar12) {\n        iVar31 = iVar31 + 1;\n        if (iVar31 == 0x17) goto switchD_0013ea21_caseD_11;\n        iVar32 = (int)peVar38->fmttype;\n      }\n      eVar37 = fmtinfo[iVar31].type;\n      switch(eVar37) {\n      case '\0':\n      case '\x0f':\n        bVar40 = 0;\n      case '\x10':\n        if ((fmtinfo[iVar31].flags & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar18 = (ulong)*puVar33;\n              bVar10 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              bVar10 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar18 = getIntArg(local_d8);\n            bVar10 = 0;\n          }\nLAB_0013f51d:\n          if (uVar18 == 0) {\n            bVar39 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                piVar24 = (int *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                piVar24 = (int *)ap->overflow_arg_area;\n                ap->overflow_arg_area = piVar24 + 2;\n              }\n              uVar18 = (ulong)*piVar24;\n              if ((long)uVar18 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              if ((long)uVar18 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar18 = getIntArg(local_d8);\n          if (-1 < (long)uVar18) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar18 == 0x8000000000000000) {\n            bVar10 = 0x2d;\n            uVar18 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar18 = -uVar18;\n            bVar10 = 0x2d;\n          }\n        }\n        if ((bVar42) && (uVar22 = uVar36 - (bVar10 != 0), (int)uVar13 < (int)uVar22)) {\n          uVar13 = uVar22;\n        }\n        if ((int)uVar13 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar15 = (byte *)(buf + 0x45);\n        }\n        else {\n          sVar19 = (long)(int)uVar13 + 10;\n          if (bVar40 != 0) {\n            sVar19 = sVar19 + (int)uVar13 / 3;\n          }\n          local_e0 = (byte *)printfTempBuf(pAccum,sVar19);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar15 = local_e0 + (long)(int)sVar19 + -1;\n        }\n        pbVar26 = pbVar15;\n        if (eVar37 == '\x0f') {\n          if ((uVar18 % 10 < 4) && ((uVar18 / 10) % 10 != 1)) {\n            iVar12 = (int)(uVar18 % 10) * 2;\n            bVar27 = "thstndrd"[iVar12 + 1];\n            bVar11 = "thstndrd"[iVar12];\n          }\n          else {\n            bVar11 = 0x74;\n            bVar27 = 0x68;\n          }\n          pbVar15[-1] = bVar27;\n          pbVar26 = pbVar15 + -2;\n          pbVar15[-2] = bVar11;\n        }\n        bVar27 = fmtinfo[iVar31].charset;\n        uVar35 = (ulong)fmtinfo[iVar31].base;\n        do {\n          pbVar26 = pbVar26 + -1;\n          *pbVar26 = "0123456789ABCDEF0123456789abcdef"[uVar18 % uVar35 + (ulong)bVar27];\n          bVar42 = uVar35 <= uVar18;\n          uVar18 = uVar18 / uVar35;\n        } while (bVar42);\n        uVar22 = (int)pbVar15 - (int)pbVar26;\n        pbVar41 = pbVar26;\n        if ((int)uVar22 < (int)uVar13) {\n          pbVar41 = pbVar26 + ~(ulong)((uVar13 - 1) - uVar22);\n          do {\n            pbVar26 = pbVar26 + -1;\n            *pbVar26 = 0x30;\n            uVar22 = uVar13;\n          } while (pbVar26 != pbVar41);\n        }\n        if (bVar40 != 0) {\n          iVar32 = (int)(uVar22 - 1) / 3;\n          iVar12 = (int)(uVar22 - 1) % 3 + 1;\n          pbVar41 = pbVar41 + -(long)iVar32;\n          if (iVar32 != 0) {\n            iVar8 = 0;\n            while( true ) {\n              do {\n                iVar23 = iVar8;\n                pbVar41[iVar23] = pbVar41[iVar32 + iVar23];\n                iVar12 = iVar12 + -1;\n                iVar8 = iVar23 + 1;\n              } while (iVar12 != 0);\n              pbVar41[iVar23 + 1] = bVar40;\n              iVar32 = iVar32 + -1;\n              if (iVar32 == 0) break;\n              iVar12 = 3;\n              iVar8 = iVar23 + 2;\n            }\n          }\n        }\n        if (bVar10 != 0) {\n          pbVar41[-1] = bVar10;\n          pbVar41 = pbVar41 + -1;\n        }\n        if ((bVar39 != 0) && (bVar10 = fmtinfo[iVar31].prefix, bVar10 != 0)) {\n          pbVar26 = (byte *)("-x0" + bVar10);\n          bVar10 = "-x0"[bVar10];\n          while (bVar10 != 0) {\n            pbVar41 = pbVar41 + -1;\n            pbVar26 = pbVar26 + 1;\n            *pbVar41 = bVar10;\n            bVar10 = *pbVar26;\n          }\n        }\n        uVar22 = (int)pbVar15 - (int)pbVar41;\n        uVar36 = uVar36 - uVar22;\nLAB_0013f018:\n        if ((int)uVar36 < 1) {\nLAB_0013fd63:\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }\n        else if (bVar7) {\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n        }\n        else {\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }\n        if (local_e0 != (byte *)0x0) {\n          sqlite3DbFreeNN(pAccum->db,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar22 = ap->fp_offset;\n          if (uVar22 < 0xb0) {\n            ap->fp_offset = uVar22 + 0x10;\n            dVar44 = *(double *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            pdVar3 = (double *)ap->overflow_arg_area;\n            ap->overflow_arg_area = pdVar3 + 1;\n            dVar44 = *pdVar3;\n          }\n          if (uVar13 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar43 = 0 < (int)uVar13;\n        }\n        else {\n          iVar12 = local_d8->nUsed;\n          if (iVar12 < local_d8->nArg) {\n            local_d8->nUsed = iVar12 + 1;\n            dVar44 = sqlite3_value_double(local_d8->apArg[iVar12]);\n          }\n          else {\n            dVar44 = 0.0;\n          }\n          if (uVar13 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar43 = true;\n          uVar13 = 6;\n        }\n        if (dVar44 < 0.0) {\n          dVar44 = -dVar44;\n          bVar10 = 0x2d;\n        }\n        dVar45 = DAT_001fae78;\n        if ((eVar37 != '\x03') || (!bVar43)) {\n          uVar22 = uVar13 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar13 = uVar13 - 1;\n        uVar22 = uVar13 & 0xfff;\n        if (uVar22 != 0) {\n          do {\n            dVar45 = dVar45 * DAT_001faf40;\n            uVar22 = uVar22 - 1;\njoined_r0x0013ec49:\n          } while (uVar22 != 0);\n          if (eVar37 == '\x01') {\n            dVar44 = dVar45 + dVar44;\n          }\n        }\n        if (NAN(dVar44)) {\n          uVar36 = uVar36 - 3;\n          uVar22 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar41 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar18 = 0;\n        if (0.0 < dVar44) {\n          dVar5 = _DAT_001faf38;\n          if (dVar44 < _DAT_001faf38) {\n            dVar5 = (double)_DAT_001fae18;\n            bVar43 = true;\n            dVar6 = 1.0;\n          }\n          else {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 100;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = _DAT_001faf38 * dVar6;\n            } while (_DAT_001faf38 * dVar6 <= dVar44 && (int)uVar22 < 0x15f);\n            dVar5 = dVar6 * (double)_DAT_001fae18;\n          }\n          if ((dVar5 <= dVar44) && (bVar43)) {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 10;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = dVar6 * (double)_DAT_001fae18;\n            } while (dVar6 * (double)_DAT_001fae18 <= dVar44 && bVar43);\n          }\n          dVar5 = (double)_DAT_001fae10;\n          if ((dVar6 * dVar5 <= dVar44) && (dVar9 = dVar6 * dVar5, bVar43)) {\n            do {\n              dVar6 = dVar9;\n              uVar22 = (int)uVar18 + 1;\n              uVar18 = (ulong)uVar22;\n              dVar9 = dVar6 * dVar5;\n            } while ((int)uVar22 < 0x15f && dVar6 * dVar5 <= dVar44);\n          }\n          for (dVar44 = dVar44 / dVar6; dVar44 < _DAT_001faf48;\n              dVar44 = dVar44 * (double)_DAT_001fae1c) {\n            uVar18 = (ulong)((int)uVar18 - 8);\n          }\n          for (; dVar44 < 1.0; dVar44 = dVar44 * dVar5) {\n            uVar18 = (ulong)((int)uVar18 - 1);\n          }\n          if (0x15e < (int)uVar18) {\n            pbVar41 = (byte *)buf;\n            pbVar15 = pbVar41 + (bVar10 != 0);\n            buf[0] = bVar10;\n            pbVar15[0] = 0x49;\n            pbVar15[1] = 0x6e;\n            pbVar15[2] = 0x66;\n            pbVar15[3] = 0;\n            if (bVar10 == 0) {\n              uVar36 = uVar36 - 3;\n              uVar22 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              uVar36 = uVar36 - 4;\n              uVar22 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar18;\n        local_b5 = bVar27;\n        if (eVar37 == '\x01') {\n          iVar12 = 0;\n          if (-1 < local_c8) {\n            iVar12 = local_c8;\n          }\n          lVar34 = (long)iVar12;\n        }\n        else {\n          dVar44 = dVar45 + dVar44;\n          if ((double)_DAT_001fae10 <= dVar44) {\n            dVar44 = dVar44 * DAT_001faf40;\n            uVar18 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar18;\n          if (eVar37 == '\x03') {\n            local_b5 = bVar39 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar13 < local_c8)) {\n              lVar34 = 0;\n              eVar37 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar13 = uVar13 - local_c8;\n              iVar12 = 0;\n              if (-1 < local_c8) {\n                iVar12 = local_c8;\n              }\n              eVar37 = '\x01';\n              lVar34 = (long)iVar12;\n            }\n          }\n          else if (eVar37 == '\x02') {\n            lVar34 = 0;\n            local_c8 = 0;\n          }\n          else {\n            eVar37 = '\x01';\n            iVar12 = 0;\n            if (-1 < local_c8) {\n              iVar12 = local_c8;\n            }\n            lVar34 = (long)iVar12;\n          }\n        }\n        lVar29 = (long)(int)uVar36;\n        lVar34 = lVar34 + (int)uVar13 + 0xf + lVar29;\n        if (lVar34 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar41 = (byte *)buf;\n        }\n        else {\n          pbVar41 = (byte *)printfTempBuf(pAccum,lVar34);\n          local_e0 = pbVar41;\n          if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar12 = (uint)bVar27 * 10 + 0x10;\n        bVar43 = 0 < (int)uVar13;\n        pbVar26 = pbVar41;\n        pbVar15 = pbVar41 + 1;\n        if (bVar10 != 0) {\n          *pbVar41 = bVar10;\n          pbVar15 = pbVar41 + 2;\n          pbVar26 = pbVar41 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar26 = 0x30;\n          uVar22 = local_c8 + 1;\n          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar26 = pbVar15 + 1;\n            *pbVar15 = 0x2e;\n            pbVar15 = pbVar26;\n            if (uVar22 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar26 = pbVar15;\n            do {\n              pbVar20 = pbVar26 + 1;\n              *pbVar26 = 0x30;\n              pbVar26 = pbVar20;\n            } while (pbVar20 != pbVar15 + (ulong)~uVar22 + 1);\n            uVar13 = (uVar13 - 1) + local_c8 + 2;\n            pbVar15 = pbVar15 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar13) {\n              pbVar26 = pbVar15;\n              do {\n                while (pbVar20 = pbVar26 + 1, 0 < iVar12) {\n                  iVar12 = iVar12 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar44);\n                  *pbVar26 = (char)local_c8 + 0x30;\n                  dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n                  pbVar26 = pbVar20;\n                  if (pbVar20 == pbVar15 + (ulong)(uVar13 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar26 = 0x30;\n                pbVar26 = pbVar20;\n              } while (pbVar20 != pbVar15 + (ulong)(uVar13 - 1) + 1);\nLAB_0013ee39:\n              pbVar15 = pbVar15 + (ulong)(uVar13 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar22 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar15 = pbVar26 + (long)local_c8 + 1;\n          do {\n            while (pbVar20 = pbVar26, pbVar26 = pbVar20 + 1, 0 < iVar12) {\n              iVar12 = iVar12 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar44);\n              *pbVar20 = (char)local_c8 + 0x30;\n              dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n              if (pbVar26 == pbVar15) goto LAB_0013fe8d;\n            }\n            *pbVar20 = 0x30;\n          } while (pbVar26 != pbVar15);\nLAB_0013fe8d:\n          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar15 = pbVar20 + 2;\n            *pbVar26 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar43 || (bVar39 != 0 || bVar27 != 0))) {\n            while (pbVar15[-1] == 0x30) {\n              pbVar15 = pbVar15 + -1;\n              *pbVar15 = 0;\n            }\n            if (pbVar15[-1] == 0x2e) {\n              if (bVar27 == 0) {\n                pbVar15[-1] = 0;\n                pbVar15 = pbVar15 + -1;\n              }\n              else {\n                *pbVar15 = 0x30;\n                pbVar15 = pbVar15 + 1;\n              }\n            }\n          }\n        }\n        if (eVar37 == '\x02') {\n          pbVar26 = pbVar15 + 2;\n          *pbVar15 = "0123456789ABCDEF0123456789abcdef"[fmtinfo[iVar31].charset];\n          bVar27 = 0x2b;\n          if ((int)uVar18 < 0) {\n            uVar18 = (ulong)(uint)-(int)uVar18;\n            bVar27 = 0x2d;\n          }\n          pbVar15[1] = bVar27;\n          if (99 < (int)uVar18) {\n            pbVar26 = pbVar15 + 3;\n            pbVar15[2] = (char)(uVar18 / 100) + 0x30;\n            uVar18 = (ulong)(uint)((int)uVar18 + (int)(uVar18 / 100) * -100);\n          }\n          pbVar15 = pbVar26 + 2;\n          cVar21 = (char)(uVar18 / 10);\n          *pbVar26 = cVar21 + 0x30;\n          pbVar26[1] = (char)uVar18 + cVar21 * -10 + 0x30;\n        }\n        *pbVar15 = 0;\n        uVar22 = (int)pbVar15 - (int)pbVar41;\n        if (!(bool)(bVar42 & (bVar7 ^ 1U))) {\n          uVar36 = uVar36 - uVar22;\n          goto LAB_0013f018;\n        }\n        if ((int)uVar22 < (int)uVar36) {\n          iVar12 = uVar36 - uVar22;\n          if (iVar12 <= (int)uVar36) {\n            do {\n              pbVar41[lVar29] = pbVar41[lVar29 - iVar12];\n              lVar29 = lVar29 + -1;\n            } while (iVar12 <= (int)lVar29);\n          }\n          pbVar15 = pbVar41 + (bVar10 != 0);\n          do {\n            *pbVar15 = 0x30;\n            pbVar15 = pbVar15 + 1;\n            uVar22 = uVar36;\n          } while (pbVar41 + (ulong)(iVar12 - 1) + (ulong)(bVar10 != 0) + 1 != pbVar15);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          sqlite3_str_append(pAccum,(char *)pbVar41,0);\n          break;\n        }\n        uVar14 = pAccum->nChar;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          puVar28 = (undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area);\n          ap->gp_offset = uVar13 + 8;\n        }\n        else {\n          puVar28 = (undefined8 *)ap->overflow_arg_area;\n          ap->overflow_arg_area = puVar28 + 1;\n        }\n        *(u32 *)*puVar28 = uVar14;\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        bVar10 = pbVar30[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            ap->gp_offset = uVar22 + 8;\n            pbVar41 = *(byte **)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n            pbVar41 = (byte *)*puVar28;\n          }\n          if (pbVar41 == (byte *)0x0) goto LAB_0013fb9a;\n          if (eVar37 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar41;\n          if (((pAccum->nChar != 0) || (pAccum->mxAlloc == 0)) ||\n             ((uVar36 != 0 || (-1 < (int)uVar13)))) goto joined_r0x0013fbae;\n          if (pAccum->accError == '\0') {\n            pAccum->zText = (char *)pbVar41;\n            uVar14 = (*sqlite3Config.m.xSize)(pbVar41);\n            pAccum->nAlloc = uVar14;\n            sVar16 = strlen((char *)pbVar41);\n            pAccum->printfFlags = pAccum->printfFlags | 4;\n            pAccum->nChar = (uint)sVar16 & 0x7fffffff;\n            sqlite3_str_append(pAccum,(char *)pbVar41,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar16 = strlen((char *)pbVar41);\n          uVar22 = (uint)sVar16 & 0x7fffffff;\n          goto LAB_0013fa12;\n        }\n        pbVar41 = (byte *)getTextArg(local_d8);\n        if (pbVar41 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar41 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar13 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar15 = pbVar41;\n        if (bVar27 != 0) {\n          while ((pbVar20 = pbVar15, uVar13 = uVar13 - 1, uVar13 != 0xffffffff && (*pbVar20 != 0)))\n          {\n            pbVar15 = pbVar20 + 1;\n            if (0xbf < *pbVar20) {\n              bVar10 = pbVar20[1];\n              while ((bVar10 & 0xc0) == 0x80) {\n                pbVar15 = pbVar15 + 1;\n                bVar10 = *pbVar15;\n              }\n            }\n          }\n          uVar22 = (int)pbVar20 - (int)pbVar41;\n          bVar27 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar13 == 0) || (*pbVar41 == 0)) {\n          uVar22 = 0;\n          goto LAB_0013f018;\n        }\n        lVar34 = 1;\n        do {\n          uVar22 = (uint)lVar34;\n          if ((ulong)(uVar13 - 1) + 1 == lVar34) break;\n          pbVar15 = pbVar41 + lVar34;\n          lVar34 = lVar34 + 1;\n        } while (*pbVar15 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        buf[0] = '%';\n        uVar36 = uVar36 - 1;\n        pbVar41 = (byte *)buf;\n        uVar22 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            ap->gp_offset = uVar22 + 8;\n            uVar1 = *(uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            puVar33 = (uint *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar33 + 2;\n            uVar1 = *puVar33;\n          }\n          if (uVar1 < 0x80) {\n            buf[0] = (byte)uVar1;\n            uVar22 = 1;\n          }\n          else {\n            cVar21 = ((byte)uVar1 & 0x3f) + 0x80;\n            bVar10 = (byte)(uVar1 >> 6);\n            if (uVar1 < 0x800) {\n              buf[1] = cVar21;\n              uVar22 = 2;\n              buf[0] = bVar10 - 0x40;\n            }\n            else {\n              buf[2] = (bVar10 & 0x3f) + 0x80;\n              bVar10 = (byte)(uVar1 >> 0xc);\n              if (uVar1 < 0x10000) {\n                buf[1] = buf[2];\n                uVar22 = 3;\n                buf[0] = bVar10 - 0x20;\n                buf[2] = cVar21;\n              }\n              else {\n                uVar22 = 4;\n                buf[3] = cVar21;\n                buf[0] = ((byte)(uVar1 >> 0x12) & 7) - 0x10;\n                buf[1] = (bVar10 & 0x3f) + 0x80;\n              }\n            }\n          }\n        }\n        else {\n          pbVar41 = (byte *)getTextArg(local_d8);\n          if (pbVar41 == (byte *)0x0) {\n            buf[0] = '\0';\n          }\n          else {\n            buf[0] = *pbVar41;\n            if ((*pbVar41 & 0xc0) == 0xc0) {\n              lVar34 = 1;\n              do {\n                uVar22 = (uint)lVar34;\n                if ((pbVar41[lVar34] & 0xc0) != 0x80) goto joined_r0x0013fa79;\n                buf[lVar34] = pbVar41[lVar34];\n                lVar34 = lVar34 + 1;\n              } while (lVar34 != 4);\n              uVar22 = 4;\n              goto joined_r0x0013fa79;\n            }\n          }\n          uVar22 = 1;\n        }\njoined_r0x0013fa79:\n        if (1 < (int)uVar13) {\n          iVar12 = uVar13 - 1;\n          uVar36 = uVar36 - iVar12;\n          if (((int)uVar36 < 2) || (bVar7)) {\n            local_e0 = (byte *)(ulong)uVar36;\n          }\n          else {\n            sqlite3_str_appendchar(pAccum,uVar36 - 1,' ');\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            sqlite3_str_append(pAccum,buf,uVar22);\n            iVar12 = iVar12 + -1;\n          } while (iVar12 != 0);\n          pbVar26 = local_e0;\n          uVar36 = (uint)local_e0;\n        }\n        if (0 < (int)uVar36) {\n          pbVar41 = (byte *)buf;\n          local_e0 = (byte *)0x0;\n          iVar12 = uVar22 - 1;\n          goto LAB_0013efc6;\n        }\n        pbVar41 = (byte *)buf;\n        sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar10 = (eVar37 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            puVar28 = (undefined8 *)((ulong)uVar22 + (long)ap->reg_save_area);\n            ap->gp_offset = uVar22 + 8;\n          }\n          else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n          }\n          local_e0 = (byte *)*puVar28;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar13 != 0) && (bVar39 = *local_e0, pbVar15 = local_e0, bVar39 != 0))\n          goto LAB_0013f8fa;\n          if (eVar37 != '\n') {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar41 = pbVar20;\n            goto LAB_0013fa0c;\n          }\n          pbVar41 = (byte *)buf;\n          buf[0] = bVar10;\n          lVar34 = 2;\n          uVar22 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar20 = (byte *)(buf + 1);\nLAB_0013fa06:\n          *pbVar20 = bVar10;\n          pbVar20 = pbVar41 + lVar34;\n        }\n        else {\n          local_e0 = (byte *)getTextArg(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar15 = (byte *)0x1e846d;\n          if (eVar37 != '\n') {\n            pbVar15 = &DAT_001e9900;\n          }\n          if (uVar13 == 0) {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            pbVar41 = pbVar20;\n          }\n          else {\n            bVar39 = *pbVar15;\nLAB_0013f8fa:\n            iVar31 = 0;\n            iVar12 = 0;\n            do {\n              iVar32 = iVar12;\n              if (bVar10 == bVar39) {\n                iVar31 = iVar31 + 1;\n              }\n              else if (((bVar27 != 0) && ((bVar39 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U) == 0x80)) {\n                lVar34 = (long)(iVar12 + 1);\n                do {\n                  lVar29 = lVar34 + 1;\n                  iVar32 = (int)lVar34;\n                  lVar34 = lVar34 + 1;\n                } while (((int)(char)pbVar15[lVar29] & 0xc0U) == 0x80);\n              }\n              iVar12 = iVar32 + 1;\n              if (uVar13 == 1) break;\n              uVar13 = uVar13 - 1;\n              bVar39 = pbVar15[iVar12];\n            } while (bVar39 != 0);\n            bVar43 = local_e0 != (byte *)0x0;\n            iVar31 = iVar32 + 4 + iVar31;\n            bVar42 = bVar43 && eVar37 == '\n';\n            if (iVar31 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar41 = (byte *)buf;\n            }\n            else {\n              pbVar41 = (byte *)printfTempBuf(pAccum,(long)iVar31);\n              local_e0 = pbVar41;\n              if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar42) {\n              *pbVar41 = bVar10;\n            }\n            lVar34 = 0;\n            uVar13 = (uint)bVar42;\n            do {\n              while( true ) {\n                bVar39 = pbVar15[lVar34];\n                uVar22 = uVar13 + 1;\n                pbVar41[(int)uVar13] = bVar39;\n                pbVar20 = pbVar41 + (int)uVar22;\n                if (bVar10 != bVar39) break;\n                uVar22 = uVar13 + 2;\n                *pbVar20 = bVar10;\n                lVar34 = lVar34 + 1;\n                pbVar20 = pbVar41 + (int)uVar22;\n                uVar13 = uVar22;\n                if (iVar12 <= (int)lVar34) goto LAB_0013f9fa;\n              }\n              lVar34 = lVar34 + 1;\n              uVar13 = uVar22;\n            } while ((int)lVar34 < iVar12);\nLAB_0013f9fa:\n            if (bVar43 && eVar37 == '\n') {\n              uVar22 = uVar22 + 1;\n              lVar34 = (long)(int)uVar22;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar20 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar36) && (bVar27 != 0)) && (iVar12 = uVar22 - 1, -1 < iVar12)) {\nLAB_0013efc6:\n          lVar34 = (long)iVar12;\n          do {\n            pbVar15 = pbVar41 + lVar34;\n            lVar34 = lVar34 + -1;\n            uVar36 = (int)pbVar26 + (uint)(((int)(char)*pbVar15 & 0xc0U) == 0x80);\n            pbVar26 = (byte *)(ulong)uVar36;\n          } while (-1 < (int)lVar34);\n        }\nLAB_0013eff2:\n        uVar36 = uVar36 - uVar22;\n        goto LAB_0013f018;\n      case '\v':\n        if ((pAccum->printfFlags & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          plVar17 = (long *)((ulong)uVar13 + (long)ap->reg_save_area);\n          ap->gp_offset = uVar13 + 8;\n        }\n        else {\n          plVar17 = (long *)ap->overflow_arg_area;\n          ap->overflow_arg_area = plVar17 + 1;\n        }\n        puVar28 = (undefined8 *)*plVar17;\n        if ((puVar28 == (undefined8 *)0x0) || (*(int *)(puVar28 + 1) == 0)) goto LAB_0013f287;\n        sqlite3_str_append(pAccum,(char *)*puVar28,*(int *)(puVar28 + 1));\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        break;\n      case '\f':\n        if ((pAccum->printfFlags & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          uVar36 = uVar13 + 8;\n          ap->gp_offset = uVar36;\n          lVar34 = *(long *)((long)ap->reg_save_area + (ulong)uVar13);\n          if (0x2f < uVar36) {\n            plVar17 = (long *)ap->overflow_arg_area;\n            goto LAB_0013f46b;\n          }\n          plVar17 = (long *)((long)ap->reg_save_area + (ulong)uVar36);\n          ap->gp_offset = uVar13 + 0x10;\n        }\n        else {\n          plVar4 = (long *)ap->overflow_arg_area;\n          plVar17 = plVar4 + 1;\n          ap->overflow_arg_area = plVar17;\n          lVar34 = *plVar4;\nLAB_0013f46b:\n          ap->overflow_arg_area = plVar17 + 1;\n        }\n        lVar29 = *plVar17;\n        z = *(char **)(lVar34 + 0x10 + (long)(int)lVar29 * 0x70);\n        if (z != (char *)0x0) {\n          sqlite3_str_appendall(pAccum,z);\n          sqlite3_str_append(pAccum,".",1);\n        }\n        sqlite3_str_appendall(pAccum,*(char **)(lVar34 + 0x18 + (long)(int)lVar29 * 0x70));\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        break;\n      case '\r':\n        bVar40 = fmtinfo[iVar31].flags & 1;\n        if ((fmtinfo[iVar31].flags & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar22 = ap->gp_offset;\n          bVar40 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar40 = 0;\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar10 = pbVar30[1];\njoined_r0x0013ebb8:\n      fmt = (char *)(pbVar30 + 1);\n    } while (bVar10 != 0);" do (compound_statement "{\n      pbVar15 = (byte *)fmt;\n      if (bVar10 != 0x25) {\n        pbVar15 = (byte *)strchrnul(fmt,0x25);\n        sqlite3_str_append(pAccum,fmt,(int)pbVar15 - (int)fmt);\n        pbVar41 = (byte *)fmt;\n        if (*pbVar15 == 0) break;\n      }\n      iVar12 = (int)(char)pbVar15[1];\n      if (pbVar15[1] == 0) {\n        sqlite3_str_append(pAccum,"%",1);\n        break;\n      }\n      bVar42 = false;\n      uVar13 = 0xffffffff;\n      bVar40 = 0;\n      bVar27 = 0;\n      bVar7 = false;\n      bVar39 = 0;\n      bVar10 = 0;\n      pbVar26 = (byte *)0x0;\n      pbVar15 = pbVar15 + 1;\n      do {\n        pbVar30 = pbVar15;\n        switch(iVar12) {\n        case 0x20:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar10 = 0x20;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x21:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar27 = 1;\n          pbVar30 = pbVar15 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar39 = 1;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar36 = ap->gp_offset;\n            if (uVar36 < 0x30) {\n              puVar33 = (uint *)((ulong)uVar36 + (long)ap->reg_save_area);\n              ap->gp_offset = uVar36 + 8;\n            }\n            else {\n              puVar33 = (uint *)ap->overflow_arg_area;\n              ap->overflow_arg_area = puVar33 + 2;\n            }\n            pbVar26 = (byte *)(ulong)*puVar33;\n          }\n          else {\n            uVar18 = getIntArg(local_d8);\n            pbVar26 = (byte *)(uVar18 & 0xffffffff);\n          }\n          iVar12 = (int)pbVar26;\n          if (iVar12 < 0) {\n            if (iVar12 == -0x80000000) {\n              bVar7 = true;\n              pbVar26 = (byte *)0x0;\n            }\n            else {\n              pbVar26 = (byte *)(ulong)(uint)-iVar12;\n              bVar7 = true;\n            }\n          }\n          iVar12 = (int)(char)pbVar15[1];\n          pbVar30 = pbVar15 + 1;\n          if ((iVar12 != 0x6c) && (iVar12 != 0x2e)) {\n            cVar21 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar10 = 0x2b;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2c:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar40 = 0x2c;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2d:\n          bVar7 = true;\n          iVar12 = (int)(char)pbVar15[1];\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2e:\n          iVar12 = (int)(char)pbVar15[1];\n          if (iVar12 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar13 = ap->gp_offset;\n              if (uVar13 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar13 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar13 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar36 = *puVar33;\n            }\n            else {\n              sVar19 = getIntArg(local_d8);\n              uVar36 = (uint)sVar19;\n            }\n            uVar13 = uVar36;\n            if (((int)uVar36 < 0) && (uVar13 = -uVar36, uVar36 == 0x80000000)) {\n              uVar13 = 0xffffffff;\n            }\n            iVar12 = (int)(char)pbVar15[2];\n            pbVar30 = pbVar15 + 2;\n          }\n          else {\n            pbVar30 = pbVar15 + 1;\n            uVar13 = 0;\n            if (iVar12 - 0x30U < 10) {\n              do {\n                pbVar30 = pbVar30 + 1;\n                uVar13 = iVar12 + -0x30 + uVar13 * 10;\n                iVar12 = (int)(char)*pbVar30;\n              } while (iVar12 - 0x30U < 10);\n              uVar13 = uVar13 & 0x7fffffff;\n            }\n          }\n          if (iVar12 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar12 = (int)(char)*pbVar30;\n          break;\n        case 0x30:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar42 = true;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar31 = (int)(char)pbVar15[1];\n          pbVar26 = (byte *)(ulong)(iVar12 - 0x30);\n          pbVar30 = pbVar15 + 1;\n          iVar12 = iVar31;\n          if (iVar31 - 0x30U < 10) {\n            do {\n              pbVar15 = pbVar30;\n              pbVar30 = pbVar15 + 1;\n              uVar36 = iVar31 + -0x30 + (int)pbVar26 * 10;\n              pbVar26 = (byte *)(ulong)uVar36;\n              iVar31 = (int)(char)pbVar15[1];\n            } while (iVar31 - 0x30U < 10);\n            pbVar26 = (byte *)(ulong)(uVar36 & 0x7fffffff);\n            iVar12 = iVar31;\n          }\n          if ((iVar12 != 0x2e) && (iVar12 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          pbVar30 = pbVar15 + 1;\n          iVar12 = (int)(char)pbVar15[1];\n          break;\n        case 0x6c:\n          iVar12 = (int)(char)pbVar15[1];\n          if (iVar12 == 0x6c) {\n            iVar12 = (int)(char)pbVar15[2];\n            cVar21 = '\x02';\n            pbVar30 = pbVar15 + 2;\n          }\n          else {\n            pbVar30 = pbVar15 + 1;\n            cVar21 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar15 = pbVar30;\n      } while (iVar12 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar21 = '\0';\nLAB_0013e9c2:\n      uVar36 = (uint)pbVar26;\n      peVar38 = fmtinfo;\n      iVar31 = 0;\n      iVar32 = 100;\n      while (peVar38 = peVar38 + 1, iVar32 != iVar12) {\n        iVar31 = iVar31 + 1;\n        if (iVar31 == 0x17) goto switchD_0013ea21_caseD_11;\n        iVar32 = (int)peVar38->fmttype;\n      }\n      eVar37 = fmtinfo[iVar31].type;\n      switch(eVar37) {\n      case '\0':\n      case '\x0f':\n        bVar40 = 0;\n      case '\x10':\n        if ((fmtinfo[iVar31].flags & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar18 = (ulong)*puVar33;\n              bVar10 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              bVar10 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar18 = getIntArg(local_d8);\n            bVar10 = 0;\n          }\nLAB_0013f51d:\n          if (uVar18 == 0) {\n            bVar39 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                piVar24 = (int *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                piVar24 = (int *)ap->overflow_arg_area;\n                ap->overflow_arg_area = piVar24 + 2;\n              }\n              uVar18 = (ulong)*piVar24;\n              if ((long)uVar18 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              if ((long)uVar18 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar18 = getIntArg(local_d8);\n          if (-1 < (long)uVar18) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar18 == 0x8000000000000000) {\n            bVar10 = 0x2d;\n            uVar18 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar18 = -uVar18;\n            bVar10 = 0x2d;\n          }\n        }\n        if ((bVar42) && (uVar22 = uVar36 - (bVar10 != 0), (int)uVar13 < (int)uVar22)) {\n          uVar13 = uVar22;\n        }\n        if ((int)uVar13 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar15 = (byte *)(buf + 0x45);\n        }\n        else {\n          sVar19 = (long)(int)uVar13 + 10;\n          if (bVar40 != 0) {\n            sVar19 = sVar19 + (int)uVar13 / 3;\n          }\n          local_e0 = (byte *)printfTempBuf(pAccum,sVar19);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar15 = local_e0 + (long)(int)sVar19 + -1;\n        }\n        pbVar26 = pbVar15;\n        if (eVar37 == '\x0f') {\n          if ((uVar18 % 10 < 4) && ((uVar18 / 10) % 10 != 1)) {\n            iVar12 = (int)(uVar18 % 10) * 2;\n            bVar27 = "thstndrd"[iVar12 + 1];\n            bVar11 = "thstndrd"[iVar12];\n          }\n          else {\n            bVar11 = 0x74;\n            bVar27 = 0x68;\n          }\n          pbVar15[-1] = bVar27;\n          pbVar26 = pbVar15 + -2;\n          pbVar15[-2] = bVar11;\n        }\n        bVar27 = fmtinfo[iVar31].charset;\n        uVar35 = (ulong)fmtinfo[iVar31].base;\n        do {\n          pbVar26 = pbVar26 + -1;\n          *pbVar26 = "0123456789ABCDEF0123456789abcdef"[uVar18 % uVar35 + (ulong)bVar27];\n          bVar42 = uVar35 <= uVar18;\n          uVar18 = uVar18 / uVar35;\n        } while (bVar42);\n        uVar22 = (int)pbVar15 - (int)pbVar26;\n        pbVar41 = pbVar26;\n        if ((int)uVar22 < (int)uVar13) {\n          pbVar41 = pbVar26 + ~(ulong)((uVar13 - 1) - uVar22);\n          do {\n            pbVar26 = pbVar26 + -1;\n            *pbVar26 = 0x30;\n            uVar22 = uVar13;\n          } while (pbVar26 != pbVar41);\n        }\n        if (bVar40 != 0) {\n          iVar32 = (int)(uVar22 - 1) / 3;\n          iVar12 = (int)(uVar22 - 1) % 3 + 1;\n          pbVar41 = pbVar41 + -(long)iVar32;\n          if (iVar32 != 0) {\n            iVar8 = 0;\n            while( true ) {\n              do {\n                iVar23 = iVar8;\n                pbVar41[iVar23] = pbVar41[iVar32 + iVar23];\n                iVar12 = iVar12 + -1;\n                iVar8 = iVar23 + 1;\n              } while (iVar12 != 0);\n              pbVar41[iVar23 + 1] = bVar40;\n              iVar32 = iVar32 + -1;\n              if (iVar32 == 0) break;\n              iVar12 = 3;\n              iVar8 = iVar23 + 2;\n            }\n          }\n        }\n        if (bVar10 != 0) {\n          pbVar41[-1] = bVar10;\n          pbVar41 = pbVar41 + -1;\n        }\n        if ((bVar39 != 0) && (bVar10 = fmtinfo[iVar31].prefix, bVar10 != 0)) {\n          pbVar26 = (byte *)("-x0" + bVar10);\n          bVar10 = "-x0"[bVar10];\n          while (bVar10 != 0) {\n            pbVar41 = pbVar41 + -1;\n            pbVar26 = pbVar26 + 1;\n            *pbVar41 = bVar10;\n            bVar10 = *pbVar26;\n          }\n        }\n        uVar22 = (int)pbVar15 - (int)pbVar41;\n        uVar36 = uVar36 - uVar22;\nLAB_0013f018:\n        if ((int)uVar36 < 1) {\nLAB_0013fd63:\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }\n        else if (bVar7) {\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n        }\n        else {\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }\n        if (local_e0 != (byte *)0x0) {\n          sqlite3DbFreeNN(pAccum->db,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar22 = ap->fp_offset;\n          if (uVar22 < 0xb0) {\n            ap->fp_offset = uVar22 + 0x10;\n            dVar44 = *(double *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            pdVar3 = (double *)ap->overflow_arg_area;\n            ap->overflow_arg_area = pdVar3 + 1;\n            dVar44 = *pdVar3;\n          }\n          if (uVar13 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar43 = 0 < (int)uVar13;\n        }\n        else {\n          iVar12 = local_d8->nUsed;\n          if (iVar12 < local_d8->nArg) {\n            local_d8->nUsed = iVar12 + 1;\n            dVar44 = sqlite3_value_double(local_d8->apArg[iVar12]);\n          }\n          else {\n            dVar44 = 0.0;\n          }\n          if (uVar13 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar43 = true;\n          uVar13 = 6;\n        }\n        if (dVar44 < 0.0) {\n          dVar44 = -dVar44;\n          bVar10 = 0x2d;\n        }\n        dVar45 = DAT_001fae78;\n        if ((eVar37 != '\x03') || (!bVar43)) {\n          uVar22 = uVar13 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar13 = uVar13 - 1;\n        uVar22 = uVar13 & 0xfff;\n        if (uVar22 != 0) {\n          do {\n            dVar45 = dVar45 * DAT_001faf40;\n            uVar22 = uVar22 - 1;\njoined_r0x0013ec49:\n          } while (uVar22 != 0);\n          if (eVar37 == '\x01') {\n            dVar44 = dVar45 + dVar44;\n          }\n        }\n        if (NAN(dVar44)) {\n          uVar36 = uVar36 - 3;\n          uVar22 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar41 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar18 = 0;\n        if (0.0 < dVar44) {\n          dVar5 = _DAT_001faf38;\n          if (dVar44 < _DAT_001faf38) {\n            dVar5 = (double)_DAT_001fae18;\n            bVar43 = true;\n            dVar6 = 1.0;\n          }\n          else {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 100;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = _DAT_001faf38 * dVar6;\n            } while (_DAT_001faf38 * dVar6 <= dVar44 && (int)uVar22 < 0x15f);\n            dVar5 = dVar6 * (double)_DAT_001fae18;\n          }\n          if ((dVar5 <= dVar44) && (bVar43)) {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 10;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = dVar6 * (double)_DAT_001fae18;\n            } while (dVar6 * (double)_DAT_001fae18 <= dVar44 && bVar43);\n          }\n          dVar5 = (double)_DAT_001fae10;\n          if ((dVar6 * dVar5 <= dVar44) && (dVar9 = dVar6 * dVar5, bVar43)) {\n            do {\n              dVar6 = dVar9;\n              uVar22 = (int)uVar18 + 1;\n              uVar18 = (ulong)uVar22;\n              dVar9 = dVar6 * dVar5;\n            } while ((int)uVar22 < 0x15f && dVar6 * dVar5 <= dVar44);\n          }\n          for (dVar44 = dVar44 / dVar6; dVar44 < _DAT_001faf48;\n              dVar44 = dVar44 * (double)_DAT_001fae1c) {\n            uVar18 = (ulong)((int)uVar18 - 8);\n          }\n          for (; dVar44 < 1.0; dVar44 = dVar44 * dVar5) {\n            uVar18 = (ulong)((int)uVar18 - 1);\n          }\n          if (0x15e < (int)uVar18) {\n            pbVar41 = (byte *)buf;\n            pbVar15 = pbVar41 + (bVar10 != 0);\n            buf[0] = bVar10;\n            pbVar15[0] = 0x49;\n            pbVar15[1] = 0x6e;\n            pbVar15[2] = 0x66;\n            pbVar15[3] = 0;\n            if (bVar10 == 0) {\n              uVar36 = uVar36 - 3;\n              uVar22 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              uVar36 = uVar36 - 4;\n              uVar22 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar18;\n        local_b5 = bVar27;\n        if (eVar37 == '\x01') {\n          iVar12 = 0;\n          if (-1 < local_c8) {\n            iVar12 = local_c8;\n          }\n          lVar34 = (long)iVar12;\n        }\n        else {\n          dVar44 = dVar45 + dVar44;\n          if ((double)_DAT_001fae10 <= dVar44) {\n            dVar44 = dVar44 * DAT_001faf40;\n            uVar18 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar18;\n          if (eVar37 == '\x03') {\n            local_b5 = bVar39 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar13 < local_c8)) {\n              lVar34 = 0;\n              eVar37 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar13 = uVar13 - local_c8;\n              iVar12 = 0;\n              if (-1 < local_c8) {\n                iVar12 = local_c8;\n              }\n              eVar37 = '\x01';\n              lVar34 = (long)iVar12;\n            }\n          }\n          else if (eVar37 == '\x02') {\n            lVar34 = 0;\n            local_c8 = 0;\n          }\n          else {\n            eVar37 = '\x01';\n            iVar12 = 0;\n            if (-1 < local_c8) {\n              iVar12 = local_c8;\n            }\n            lVar34 = (long)iVar12;\n          }\n        }\n        lVar29 = (long)(int)uVar36;\n        lVar34 = lVar34 + (int)uVar13 + 0xf + lVar29;\n        if (lVar34 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar41 = (byte *)buf;\n        }\n        else {\n          pbVar41 = (byte *)printfTempBuf(pAccum,lVar34);\n          local_e0 = pbVar41;\n          if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar12 = (uint)bVar27 * 10 + 0x10;\n        bVar43 = 0 < (int)uVar13;\n        pbVar26 = pbVar41;\n        pbVar15 = pbVar41 + 1;\n        if (bVar10 != 0) {\n          *pbVar41 = bVar10;\n          pbVar15 = pbVar41 + 2;\n          pbVar26 = pbVar41 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar26 = 0x30;\n          uVar22 = local_c8 + 1;\n          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar26 = pbVar15 + 1;\n            *pbVar15 = 0x2e;\n            pbVar15 = pbVar26;\n            if (uVar22 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar26 = pbVar15;\n            do {\n              pbVar20 = pbVar26 + 1;\n              *pbVar26 = 0x30;\n              pbVar26 = pbVar20;\n            } while (pbVar20 != pbVar15 + (ulong)~uVar22 + 1);\n            uVar13 = (uVar13 - 1) + local_c8 + 2;\n            pbVar15 = pbVar15 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar13) {\n              pbVar26 = pbVar15;\n              do {\n                while (pbVar20 = pbVar26 + 1, 0 < iVar12) {\n                  iVar12 = iVar12 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar44);\n                  *pbVar26 = (char)local_c8 + 0x30;\n                  dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n                  pbVar26 = pbVar20;\n                  if (pbVar20 == pbVar15 + (ulong)(uVar13 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar26 = 0x30;\n                pbVar26 = pbVar20;\n              } while (pbVar20 != pbVar15 + (ulong)(uVar13 - 1) + 1);\nLAB_0013ee39:\n              pbVar15 = pbVar15 + (ulong)(uVar13 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar22 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar15 = pbVar26 + (long)local_c8 + 1;\n          do {\n            while (pbVar20 = pbVar26, pbVar26 = pbVar20 + 1, 0 < iVar12) {\n              iVar12 = iVar12 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar44);\n              *pbVar20 = (char)local_c8 + 0x30;\n              dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n              if (pbVar26 == pbVar15) goto LAB_0013fe8d;\n            }\n            *pbVar20 = 0x30;\n          } while (pbVar26 != pbVar15);\nLAB_0013fe8d:\n          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar15 = pbVar20 + 2;\n            *pbVar26 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar43 || (bVar39 != 0 || bVar27 != 0))) {\n            while (pbVar15[-1] == 0x30) {\n              pbVar15 = pbVar15 + -1;\n              *pbVar15 = 0;\n            }\n            if (pbVar15[-1] == 0x2e) {\n              if (bVar27 == 0) {\n                pbVar15[-1] = 0;\n                pbVar15 = pbVar15 + -1;\n              }\n              else {\n                *pbVar15 = 0x30;\n                pbVar15 = pbVar15 + 1;\n              }\n            }\n          }\n        }\n        if (eVar37 == '\x02') {\n          pbVar26 = pbVar15 + 2;\n          *pbVar15 = "0123456789ABCDEF0123456789abcdef"[fmtinfo[iVar31].charset];\n          bVar27 = 0x2b;\n          if ((int)uVar18 < 0) {\n            uVar18 = (ulong)(uint)-(int)uVar18;\n            bVar27 = 0x2d;\n          }\n          pbVar15[1] = bVar27;\n          if (99 < (int)uVar18) {\n            pbVar26 = pbVar15 + 3;\n            pbVar15[2] = (char)(uVar18 / 100) + 0x30;\n            uVar18 = (ulong)(uint)((int)uVar18 + (int)(uVar18 / 100) * -100);\n          }\n          pbVar15 = pbVar26 + 2;\n          cVar21 = (char)(uVar18 / 10);\n          *pbVar26 = cVar21 + 0x30;\n          pbVar26[1] = (char)uVar18 + cVar21 * -10 + 0x30;\n        }\n        *pbVar15 = 0;\n        uVar22 = (int)pbVar15 - (int)pbVar41;\n        if (!(bool)(bVar42 & (bVar7 ^ 1U))) {\n          uVar36 = uVar36 - uVar22;\n          goto LAB_0013f018;\n        }\n        if ((int)uVar22 < (int)uVar36) {\n          iVar12 = uVar36 - uVar22;\n          if (iVar12 <= (int)uVar36) {\n            do {\n              pbVar41[lVar29] = pbVar41[lVar29 - iVar12];\n              lVar29 = lVar29 + -1;\n            } while (iVar12 <= (int)lVar29);\n          }\n          pbVar15 = pbVar41 + (bVar10 != 0);\n          do {\n            *pbVar15 = 0x30;\n            pbVar15 = pbVar15 + 1;\n            uVar22 = uVar36;\n          } while (pbVar41 + (ulong)(iVar12 - 1) + (ulong)(bVar10 != 0) + 1 != pbVar15);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          sqlite3_str_append(pAccum,(char *)pbVar41,0);\n          break;\n        }\n        uVar14 = pAccum->nChar;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          puVar28 = (undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area);\n          ap->gp_offset = uVar13 + 8;\n        }\n        else {\n          puVar28 = (undefined8 *)ap->overflow_arg_area;\n          ap->overflow_arg_area = puVar28 + 1;\n        }\n        *(u32 *)*puVar28 = uVar14;\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        bVar10 = pbVar30[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            ap->gp_offset = uVar22 + 8;\n            pbVar41 = *(byte **)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n            pbVar41 = (byte *)*puVar28;\n          }\n          if (pbVar41 == (byte *)0x0) goto LAB_0013fb9a;\n          if (eVar37 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar41;\n          if (((pAccum->nChar != 0) || (pAccum->mxAlloc == 0)) ||\n             ((uVar36 != 0 || (-1 < (int)uVar13)))) goto joined_r0x0013fbae;\n          if (pAccum->accError == '\0') {\n            pAccum->zText = (char *)pbVar41;\n            uVar14 = (*sqlite3Config.m.xSize)(pbVar41);\n            pAccum->nAlloc = uVar14;\n            sVar16 = strlen((char *)pbVar41);\n            pAccum->printfFlags = pAccum->printfFlags | 4;\n            pAccum->nChar = (uint)sVar16 & 0x7fffffff;\n            sqlite3_str_append(pAccum,(char *)pbVar41,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar16 = strlen((char *)pbVar41);\n          uVar22 = (uint)sVar16 & 0x7fffffff;\n          goto LAB_0013fa12;\n        }\n        pbVar41 = (byte *)getTextArg(local_d8);\n        if (pbVar41 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar41 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar13 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar15 = pbVar41;\n        if (bVar27 != 0) {\n          while ((pbVar20 = pbVar15, uVar13 = uVar13 - 1, uVar13 != 0xffffffff && (*pbVar20 != 0)))\n          {\n            pbVar15 = pbVar20 + 1;\n            if (0xbf < *pbVar20) {\n              bVar10 = pbVar20[1];\n              while ((bVar10 & 0xc0) == 0x80) {\n                pbVar15 = pbVar15 + 1;\n                bVar10 = *pbVar15;\n              }\n            }\n          }\n          uVar22 = (int)pbVar20 - (int)pbVar41;\n          bVar27 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar13 == 0) || (*pbVar41 == 0)) {\n          uVar22 = 0;\n          goto LAB_0013f018;\n        }\n        lVar34 = 1;\n        do {\n          uVar22 = (uint)lVar34;\n          if ((ulong)(uVar13 - 1) + 1 == lVar34) break;\n          pbVar15 = pbVar41 + lVar34;\n          lVar34 = lVar34 + 1;\n        } while (*pbVar15 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        buf[0] = '%';\n        uVar36 = uVar36 - 1;\n        pbVar41 = (byte *)buf;\n        uVar22 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            ap->gp_offset = uVar22 + 8;\n            uVar1 = *(uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            puVar33 = (uint *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar33 + 2;\n            uVar1 = *puVar33;\n          }\n          if (uVar1 < 0x80) {\n            buf[0] = (byte)uVar1;\n            uVar22 = 1;\n          }\n          else {\n            cVar21 = ((byte)uVar1 & 0x3f) + 0x80;\n            bVar10 = (byte)(uVar1 >> 6);\n            if (uVar1 < 0x800) {\n              buf[1] = cVar21;\n              uVar22 = 2;\n              buf[0] = bVar10 - 0x40;\n            }\n            else {\n              buf[2] = (bVar10 & 0x3f) + 0x80;\n              bVar10 = (byte)(uVar1 >> 0xc);\n              if (uVar1 < 0x10000) {\n                buf[1] = buf[2];\n                uVar22 = 3;\n                buf[0] = bVar10 - 0x20;\n                buf[2] = cVar21;\n              }\n              else {\n                uVar22 = 4;\n                buf[3] = cVar21;\n                buf[0] = ((byte)(uVar1 >> 0x12) & 7) - 0x10;\n                buf[1] = (bVar10 & 0x3f) + 0x80;\n              }\n            }\n          }\n        }\n        else {\n          pbVar41 = (byte *)getTextArg(local_d8);\n          if (pbVar41 == (byte *)0x0) {\n            buf[0] = '\0';\n          }\n          else {\n            buf[0] = *pbVar41;\n            if ((*pbVar41 & 0xc0) == 0xc0) {\n              lVar34 = 1;\n              do {\n                uVar22 = (uint)lVar34;\n                if ((pbVar41[lVar34] & 0xc0) != 0x80) goto joined_r0x0013fa79;\n                buf[lVar34] = pbVar41[lVar34];\n                lVar34 = lVar34 + 1;\n              } while (lVar34 != 4);\n              uVar22 = 4;\n              goto joined_r0x0013fa79;\n            }\n          }\n          uVar22 = 1;\n        }\njoined_r0x0013fa79:\n        if (1 < (int)uVar13) {\n          iVar12 = uVar13 - 1;\n          uVar36 = uVar36 - iVar12;\n          if (((int)uVar36 < 2) || (bVar7)) {\n            local_e0 = (byte *)(ulong)uVar36;\n          }\n          else {\n            sqlite3_str_appendchar(pAccum,uVar36 - 1,' ');\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            sqlite3_str_append(pAccum,buf,uVar22);\n            iVar12 = iVar12 + -1;\n          } while (iVar12 != 0);\n          pbVar26 = local_e0;\n          uVar36 = (uint)local_e0;\n        }\n        if (0 < (int)uVar36) {\n          pbVar41 = (byte *)buf;\n          local_e0 = (byte *)0x0;\n          iVar12 = uVar22 - 1;\n          goto LAB_0013efc6;\n        }\n        pbVar41 = (byte *)buf;\n        sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar10 = (eVar37 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            puVar28 = (undefined8 *)((ulong)uVar22 + (long)ap->reg_save_area);\n            ap->gp_offset = uVar22 + 8;\n          }\n          else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n          }\n          local_e0 = (byte *)*puVar28;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar13 != 0) && (bVar39 = *local_e0, pbVar15 = local_e0, bVar39 != 0))\n          goto LAB_0013f8fa;\n          if (eVar37 != '\n') {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar41 = pbVar20;\n            goto LAB_0013fa0c;\n          }\n          pbVar41 = (byte *)buf;\n          buf[0] = bVar10;\n          lVar34 = 2;\n          uVar22 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar20 = (byte *)(buf + 1);\nLAB_0013fa06:\n          *pbVar20 = bVar10;\n          pbVar20 = pbVar41 + lVar34;\n        }\n        else {\n          local_e0 = (byte *)getTextArg(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar15 = (byte *)0x1e846d;\n          if (eVar37 != '\n') {\n            pbVar15 = &DAT_001e9900;\n          }\n          if (uVar13 == 0) {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            pbVar41 = pbVar20;\n          }\n          else {\n            bVar39 = *pbVar15;\nLAB_0013f8fa:\n            iVar31 = 0;\n            iVar12 = 0;\n            do {\n              iVar32 = iVar12;\n              if (bVar10 == bVar39) {\n                iVar31 = iVar31 + 1;\n              }\n              else if (((bVar27 != 0) && ((bVar39 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U) == 0x80)) {\n                lVar34 = (long)(iVar12 + 1);\n                do {\n                  lVar29 = lVar34 + 1;\n                  iVar32 = (int)lVar34;\n                  lVar34 = lVar34 + 1;\n                } while (((int)(char)pbVar15[lVar29] & 0xc0U) == 0x80);\n              }\n              iVar12 = iVar32 + 1;\n              if (uVar13 == 1) break;\n              uVar13 = uVar13 - 1;\n              bVar39 = pbVar15[iVar12];\n            } while (bVar39 != 0);\n            bVar43 = local_e0 != (byte *)0x0;\n            iVar31 = iVar32 + 4 + iVar31;\n            bVar42 = bVar43 && eVar37 == '\n';\n            if (iVar31 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar41 = (byte *)buf;\n            }\n            else {\n              pbVar41 = (byte *)printfTempBuf(pAccum,(long)iVar31);\n              local_e0 = pbVar41;\n              if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar42) {\n              *pbVar41 = bVar10;\n            }\n            lVar34 = 0;\n            uVar13 = (uint)bVar42;\n            do {\n              while( true ) {\n                bVar39 = pbVar15[lVar34];\n                uVar22 = uVar13 + 1;\n                pbVar41[(int)uVar13] = bVar39;\n                pbVar20 = pbVar41 + (int)uVar22;\n                if (bVar10 != bVar39) break;\n                uVar22 = uVar13 + 2;\n                *pbVar20 = bVar10;\n                lVar34 = lVar34 + 1;\n                pbVar20 = pbVar41 + (int)uVar22;\n                uVar13 = uVar22;\n                if (iVar12 <= (int)lVar34) goto LAB_0013f9fa;\n              }\n              lVar34 = lVar34 + 1;\n              uVar13 = uVar22;\n            } while ((int)lVar34 < iVar12);\nLAB_0013f9fa:\n            if (bVar43 && eVar37 == '\n') {\n              uVar22 = uVar22 + 1;\n              lVar34 = (long)(int)uVar22;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar20 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar36) && (bVar27 != 0)) && (iVar12 = uVar22 - 1, -1 < iVar12)) {\nLAB_0013efc6:\n          lVar34 = (long)iVar12;\n          do {\n            pbVar15 = pbVar41 + lVar34;\n            lVar34 = lVar34 + -1;\n            uVar36 = (int)pbVar26 + (uint)(((int)(char)*pbVar15 & 0xc0U) == 0x80);\n            pbVar26 = (byte *)(ulong)uVar36;\n          } while (-1 < (int)lVar34);\n        }\nLAB_0013eff2:\n        uVar36 = uVar36 - uVar22;\n        goto LAB_0013f018;\n      case '\v':\n        if ((pAccum->printfFlags & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          plVar17 = (long *)((ulong)uVar13 + (long)ap->reg_save_area);\n          ap->gp_offset = uVar13 + 8;\n        }\n        else {\n          plVar17 = (long *)ap->overflow_arg_area;\n          ap->overflow_arg_area = plVar17 + 1;\n        }\n        puVar28 = (undefined8 *)*plVar17;\n        if ((puVar28 == (undefined8 *)0x0) || (*(int *)(puVar28 + 1) == 0)) goto LAB_0013f287;\n        sqlite3_str_append(pAccum,(char *)*puVar28,*(int *)(puVar28 + 1));\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        break;\n      case '\f':\n        if ((pAccum->printfFlags & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          uVar36 = uVar13 + 8;\n          ap->gp_offset = uVar36;\n          lVar34 = *(long *)((long)ap->reg_save_area + (ulong)uVar13);\n          if (0x2f < uVar36) {\n            plVar17 = (long *)ap->overflow_arg_area;\n            goto LAB_0013f46b;\n          }\n          plVar17 = (long *)((long)ap->reg_save_area + (ulong)uVar36);\n          ap->gp_offset = uVar13 + 0x10;\n        }\n        else {\n          plVar4 = (long *)ap->overflow_arg_area;\n          plVar17 = plVar4 + 1;\n          ap->overflow_arg_area = plVar17;\n          lVar34 = *plVar4;\nLAB_0013f46b:\n          ap->overflow_arg_area = plVar17 + 1;\n        }\n        lVar29 = *plVar17;\n        z = *(char **)(lVar34 + 0x10 + (long)(int)lVar29 * 0x70);\n        if (z != (char *)0x0) {\n          sqlite3_str_appendall(pAccum,z);\n          sqlite3_str_append(pAccum,".",1);\n        }\n        sqlite3_str_appendall(pAccum,*(char **)(lVar34 + 0x18 + (long)(int)lVar29 * 0x70));\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        break;\n      case '\r':\n        bVar40 = fmtinfo[iVar31].flags & 1;\n        if ((fmtinfo[iVar31].flags & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar22 = ap->gp_offset;\n          bVar40 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar40 = 0;\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar10 = pbVar30[1];\njoined_r0x0013ebb8:\n      fmt = (char *)(pbVar30 + 1);\n    }" { (expression_statement "pbVar15 = (byte *)fmt;" (assignment_expression "pbVar15 = (byte *)fmt" identifier = (cast_expression "(byte *)fmt" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (bVar10 != 0x25) {\n        pbVar15 = (byte *)strchrnul(fmt,0x25);\n        sqlite3_str_append(pAccum,fmt,(int)pbVar15 - (int)fmt);\n        pbVar41 = (byte *)fmt;\n        if (*pbVar15 == 0) break;\n      }" if (parenthesized_expression "(bVar10 != 0x25)" ( (binary_expression "bVar10 != 0x25" identifier != number_literal) )) (compound_statement "{\n        pbVar15 = (byte *)strchrnul(fmt,0x25);\n        sqlite3_str_append(pAccum,fmt,(int)pbVar15 - (int)fmt);\n        pbVar41 = (byte *)fmt;\n        if (*pbVar15 == 0) break;\n      }" { (expression_statement "pbVar15 = (byte *)strchrnul(fmt,0x25);" (assignment_expression "pbVar15 = (byte *)strchrnul(fmt,0x25)" identifier = (cast_expression "(byte *)strchrnul(fmt,0x25)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "strchrnul(fmt,0x25)" identifier (argument_list "(fmt,0x25)" ( identifier , number_literal ))))) ;) (expression_statement "sqlite3_str_append(pAccum,fmt,(int)pbVar15 - (int)fmt);" (call_expression "sqlite3_str_append(pAccum,fmt,(int)pbVar15 - (int)fmt)" identifier (argument_list "(pAccum,fmt,(int)pbVar15 - (int)fmt)" ( identifier , identifier , (binary_expression "(int)pbVar15 - (int)fmt" (cast_expression "(int)pbVar15" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)fmt" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (expression_statement "pbVar41 = (byte *)fmt;" (assignment_expression "pbVar41 = (byte *)fmt" identifier = (cast_expression "(byte *)fmt" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*pbVar15 == 0) break;" if (parenthesized_expression "(*pbVar15 == 0)" ( (binary_expression "*pbVar15 == 0" (pointer_expression "*pbVar15" * identifier) == number_literal) )) (break_statement "break;" break ;)) })) (expression_statement "iVar12 = (int)(char)pbVar15[1];" (assignment_expression "iVar12 = (int)(char)pbVar15[1]" identifier = (cast_expression "(int)(char)pbVar15[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar15[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar15[1]" identifier [ number_literal ])))) ;) (if_statement "if (pbVar15[1] == 0) {\n        sqlite3_str_append(pAccum,"%",1);\n        break;\n      }" if (parenthesized_expression "(pbVar15[1] == 0)" ( (binary_expression "pbVar15[1] == 0" (subscript_expression "pbVar15[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        sqlite3_str_append(pAccum,"%",1);\n        break;\n      }" { (expression_statement "sqlite3_str_append(pAccum,"%",1);" (call_expression "sqlite3_str_append(pAccum,"%",1)" identifier (argument_list "(pAccum,"%",1)" ( identifier , (string_literal ""%"" " string_content ") , number_literal ))) ;) (break_statement "break;" break ;) })) (expression_statement "bVar42 = false;" (assignment_expression "bVar42 = false" identifier = false) ;) (expression_statement "uVar13 = 0xffffffff;" (assignment_expression "uVar13 = 0xffffffff" identifier = number_literal) ;) (expression_statement "bVar40 = 0;" (assignment_expression "bVar40 = 0" identifier = number_literal) ;) (expression_statement "bVar27 = 0;" (assignment_expression "bVar27 = 0" identifier = number_literal) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar39 = 0;" (assignment_expression "bVar39 = 0" identifier = number_literal) ;) (expression_statement "bVar10 = 0;" (assignment_expression "bVar10 = 0" identifier = number_literal) ;) (expression_statement "pbVar26 = (byte *)0x0;" (assignment_expression "pbVar26 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar15 = pbVar15 + 1;" (assignment_expression "pbVar15 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) (do_statement "do {\n        pbVar30 = pbVar15;\n        switch(iVar12) {\n        case 0x20:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar10 = 0x20;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x21:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar27 = 1;\n          pbVar30 = pbVar15 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar39 = 1;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar36 = ap->gp_offset;\n            if (uVar36 < 0x30) {\n              puVar33 = (uint *)((ulong)uVar36 + (long)ap->reg_save_area);\n              ap->gp_offset = uVar36 + 8;\n            }\n            else {\n              puVar33 = (uint *)ap->overflow_arg_area;\n              ap->overflow_arg_area = puVar33 + 2;\n            }\n            pbVar26 = (byte *)(ulong)*puVar33;\n          }\n          else {\n            uVar18 = getIntArg(local_d8);\n            pbVar26 = (byte *)(uVar18 & 0xffffffff);\n          }\n          iVar12 = (int)pbVar26;\n          if (iVar12 < 0) {\n            if (iVar12 == -0x80000000) {\n              bVar7 = true;\n              pbVar26 = (byte *)0x0;\n            }\n            else {\n              pbVar26 = (byte *)(ulong)(uint)-iVar12;\n              bVar7 = true;\n            }\n          }\n          iVar12 = (int)(char)pbVar15[1];\n          pbVar30 = pbVar15 + 1;\n          if ((iVar12 != 0x6c) && (iVar12 != 0x2e)) {\n            cVar21 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar10 = 0x2b;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2c:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar40 = 0x2c;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2d:\n          bVar7 = true;\n          iVar12 = (int)(char)pbVar15[1];\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2e:\n          iVar12 = (int)(char)pbVar15[1];\n          if (iVar12 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar13 = ap->gp_offset;\n              if (uVar13 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar13 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar13 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar36 = *puVar33;\n            }\n            else {\n              sVar19 = getIntArg(local_d8);\n              uVar36 = (uint)sVar19;\n            }\n            uVar13 = uVar36;\n            if (((int)uVar36 < 0) && (uVar13 = -uVar36, uVar36 == 0x80000000)) {\n              uVar13 = 0xffffffff;\n            }\n            iVar12 = (int)(char)pbVar15[2];\n            pbVar30 = pbVar15 + 2;\n          }\n          else {\n            pbVar30 = pbVar15 + 1;\n            uVar13 = 0;\n            if (iVar12 - 0x30U < 10) {\n              do {\n                pbVar30 = pbVar30 + 1;\n                uVar13 = iVar12 + -0x30 + uVar13 * 10;\n                iVar12 = (int)(char)*pbVar30;\n              } while (iVar12 - 0x30U < 10);\n              uVar13 = uVar13 & 0x7fffffff;\n            }\n          }\n          if (iVar12 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar12 = (int)(char)*pbVar30;\n          break;\n        case 0x30:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar42 = true;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar31 = (int)(char)pbVar15[1];\n          pbVar26 = (byte *)(ulong)(iVar12 - 0x30);\n          pbVar30 = pbVar15 + 1;\n          iVar12 = iVar31;\n          if (iVar31 - 0x30U < 10) {\n            do {\n              pbVar15 = pbVar30;\n              pbVar30 = pbVar15 + 1;\n              uVar36 = iVar31 + -0x30 + (int)pbVar26 * 10;\n              pbVar26 = (byte *)(ulong)uVar36;\n              iVar31 = (int)(char)pbVar15[1];\n            } while (iVar31 - 0x30U < 10);\n            pbVar26 = (byte *)(ulong)(uVar36 & 0x7fffffff);\n            iVar12 = iVar31;\n          }\n          if ((iVar12 != 0x2e) && (iVar12 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          pbVar30 = pbVar15 + 1;\n          iVar12 = (int)(char)pbVar15[1];\n          break;\n        case 0x6c:\n          iVar12 = (int)(char)pbVar15[1];\n          if (iVar12 == 0x6c) {\n            iVar12 = (int)(char)pbVar15[2];\n            cVar21 = '\x02';\n            pbVar30 = pbVar15 + 2;\n          }\n          else {\n            pbVar30 = pbVar15 + 1;\n            cVar21 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar15 = pbVar30;\n      } while (iVar12 != 0);" do (compound_statement "{\n        pbVar30 = pbVar15;\n        switch(iVar12) {\n        case 0x20:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar10 = 0x20;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x21:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar27 = 1;\n          pbVar30 = pbVar15 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar39 = 1;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar36 = ap->gp_offset;\n            if (uVar36 < 0x30) {\n              puVar33 = (uint *)((ulong)uVar36 + (long)ap->reg_save_area);\n              ap->gp_offset = uVar36 + 8;\n            }\n            else {\n              puVar33 = (uint *)ap->overflow_arg_area;\n              ap->overflow_arg_area = puVar33 + 2;\n            }\n            pbVar26 = (byte *)(ulong)*puVar33;\n          }\n          else {\n            uVar18 = getIntArg(local_d8);\n            pbVar26 = (byte *)(uVar18 & 0xffffffff);\n          }\n          iVar12 = (int)pbVar26;\n          if (iVar12 < 0) {\n            if (iVar12 == -0x80000000) {\n              bVar7 = true;\n              pbVar26 = (byte *)0x0;\n            }\n            else {\n              pbVar26 = (byte *)(ulong)(uint)-iVar12;\n              bVar7 = true;\n            }\n          }\n          iVar12 = (int)(char)pbVar15[1];\n          pbVar30 = pbVar15 + 1;\n          if ((iVar12 != 0x6c) && (iVar12 != 0x2e)) {\n            cVar21 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar10 = 0x2b;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2c:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar40 = 0x2c;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2d:\n          bVar7 = true;\n          iVar12 = (int)(char)pbVar15[1];\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2e:\n          iVar12 = (int)(char)pbVar15[1];\n          if (iVar12 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar13 = ap->gp_offset;\n              if (uVar13 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar13 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar13 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar36 = *puVar33;\n            }\n            else {\n              sVar19 = getIntArg(local_d8);\n              uVar36 = (uint)sVar19;\n            }\n            uVar13 = uVar36;\n            if (((int)uVar36 < 0) && (uVar13 = -uVar36, uVar36 == 0x80000000)) {\n              uVar13 = 0xffffffff;\n            }\n            iVar12 = (int)(char)pbVar15[2];\n            pbVar30 = pbVar15 + 2;\n          }\n          else {\n            pbVar30 = pbVar15 + 1;\n            uVar13 = 0;\n            if (iVar12 - 0x30U < 10) {\n              do {\n                pbVar30 = pbVar30 + 1;\n                uVar13 = iVar12 + -0x30 + uVar13 * 10;\n                iVar12 = (int)(char)*pbVar30;\n              } while (iVar12 - 0x30U < 10);\n              uVar13 = uVar13 & 0x7fffffff;\n            }\n          }\n          if (iVar12 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar12 = (int)(char)*pbVar30;\n          break;\n        case 0x30:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar42 = true;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar31 = (int)(char)pbVar15[1];\n          pbVar26 = (byte *)(ulong)(iVar12 - 0x30);\n          pbVar30 = pbVar15 + 1;\n          iVar12 = iVar31;\n          if (iVar31 - 0x30U < 10) {\n            do {\n              pbVar15 = pbVar30;\n              pbVar30 = pbVar15 + 1;\n              uVar36 = iVar31 + -0x30 + (int)pbVar26 * 10;\n              pbVar26 = (byte *)(ulong)uVar36;\n              iVar31 = (int)(char)pbVar15[1];\n            } while (iVar31 - 0x30U < 10);\n            pbVar26 = (byte *)(ulong)(uVar36 & 0x7fffffff);\n            iVar12 = iVar31;\n          }\n          if ((iVar12 != 0x2e) && (iVar12 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          pbVar30 = pbVar15 + 1;\n          iVar12 = (int)(char)pbVar15[1];\n          break;\n        case 0x6c:\n          iVar12 = (int)(char)pbVar15[1];\n          if (iVar12 == 0x6c) {\n            iVar12 = (int)(char)pbVar15[2];\n            cVar21 = '\x02';\n            pbVar30 = pbVar15 + 2;\n          }\n          else {\n            pbVar30 = pbVar15 + 1;\n            cVar21 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar15 = pbVar30;\n      }" { (expression_statement "pbVar30 = pbVar15;" (assignment_expression "pbVar30 = pbVar15" identifier = identifier) ;) (switch_statement "switch(iVar12) {\n        case 0x20:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar10 = 0x20;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x21:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar27 = 1;\n          pbVar30 = pbVar15 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar39 = 1;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar36 = ap->gp_offset;\n            if (uVar36 < 0x30) {\n              puVar33 = (uint *)((ulong)uVar36 + (long)ap->reg_save_area);\n              ap->gp_offset = uVar36 + 8;\n            }\n            else {\n              puVar33 = (uint *)ap->overflow_arg_area;\n              ap->overflow_arg_area = puVar33 + 2;\n            }\n            pbVar26 = (byte *)(ulong)*puVar33;\n          }\n          else {\n            uVar18 = getIntArg(local_d8);\n            pbVar26 = (byte *)(uVar18 & 0xffffffff);\n          }\n          iVar12 = (int)pbVar26;\n          if (iVar12 < 0) {\n            if (iVar12 == -0x80000000) {\n              bVar7 = true;\n              pbVar26 = (byte *)0x0;\n            }\n            else {\n              pbVar26 = (byte *)(ulong)(uint)-iVar12;\n              bVar7 = true;\n            }\n          }\n          iVar12 = (int)(char)pbVar15[1];\n          pbVar30 = pbVar15 + 1;\n          if ((iVar12 != 0x6c) && (iVar12 != 0x2e)) {\n            cVar21 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar10 = 0x2b;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2c:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar40 = 0x2c;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2d:\n          bVar7 = true;\n          iVar12 = (int)(char)pbVar15[1];\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2e:\n          iVar12 = (int)(char)pbVar15[1];\n          if (iVar12 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar13 = ap->gp_offset;\n              if (uVar13 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar13 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar13 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar36 = *puVar33;\n            }\n            else {\n              sVar19 = getIntArg(local_d8);\n              uVar36 = (uint)sVar19;\n            }\n            uVar13 = uVar36;\n            if (((int)uVar36 < 0) && (uVar13 = -uVar36, uVar36 == 0x80000000)) {\n              uVar13 = 0xffffffff;\n            }\n            iVar12 = (int)(char)pbVar15[2];\n            pbVar30 = pbVar15 + 2;\n          }\n          else {\n            pbVar30 = pbVar15 + 1;\n            uVar13 = 0;\n            if (iVar12 - 0x30U < 10) {\n              do {\n                pbVar30 = pbVar30 + 1;\n                uVar13 = iVar12 + -0x30 + uVar13 * 10;\n                iVar12 = (int)(char)*pbVar30;\n              } while (iVar12 - 0x30U < 10);\n              uVar13 = uVar13 & 0x7fffffff;\n            }\n          }\n          if (iVar12 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar12 = (int)(char)*pbVar30;\n          break;\n        case 0x30:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar42 = true;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar31 = (int)(char)pbVar15[1];\n          pbVar26 = (byte *)(ulong)(iVar12 - 0x30);\n          pbVar30 = pbVar15 + 1;\n          iVar12 = iVar31;\n          if (iVar31 - 0x30U < 10) {\n            do {\n              pbVar15 = pbVar30;\n              pbVar30 = pbVar15 + 1;\n              uVar36 = iVar31 + -0x30 + (int)pbVar26 * 10;\n              pbVar26 = (byte *)(ulong)uVar36;\n              iVar31 = (int)(char)pbVar15[1];\n            } while (iVar31 - 0x30U < 10);\n            pbVar26 = (byte *)(ulong)(uVar36 & 0x7fffffff);\n            iVar12 = iVar31;\n          }\n          if ((iVar12 != 0x2e) && (iVar12 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          pbVar30 = pbVar15 + 1;\n          iVar12 = (int)(char)pbVar15[1];\n          break;\n        case 0x6c:\n          iVar12 = (int)(char)pbVar15[1];\n          if (iVar12 == 0x6c) {\n            iVar12 = (int)(char)pbVar15[2];\n            cVar21 = '\x02';\n            pbVar30 = pbVar15 + 2;\n          }\n          else {\n            pbVar30 = pbVar15 + 1;\n            cVar21 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }" switch (parenthesized_expression "(iVar12)" ( identifier )) (compound_statement "{\n        case 0x20:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar10 = 0x20;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x21:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar27 = 1;\n          pbVar30 = pbVar15 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar39 = 1;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar36 = ap->gp_offset;\n            if (uVar36 < 0x30) {\n              puVar33 = (uint *)((ulong)uVar36 + (long)ap->reg_save_area);\n              ap->gp_offset = uVar36 + 8;\n            }\n            else {\n              puVar33 = (uint *)ap->overflow_arg_area;\n              ap->overflow_arg_area = puVar33 + 2;\n            }\n            pbVar26 = (byte *)(ulong)*puVar33;\n          }\n          else {\n            uVar18 = getIntArg(local_d8);\n            pbVar26 = (byte *)(uVar18 & 0xffffffff);\n          }\n          iVar12 = (int)pbVar26;\n          if (iVar12 < 0) {\n            if (iVar12 == -0x80000000) {\n              bVar7 = true;\n              pbVar26 = (byte *)0x0;\n            }\n            else {\n              pbVar26 = (byte *)(ulong)(uint)-iVar12;\n              bVar7 = true;\n            }\n          }\n          iVar12 = (int)(char)pbVar15[1];\n          pbVar30 = pbVar15 + 1;\n          if ((iVar12 != 0x6c) && (iVar12 != 0x2e)) {\n            cVar21 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar10 = 0x2b;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2c:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar40 = 0x2c;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2d:\n          bVar7 = true;\n          iVar12 = (int)(char)pbVar15[1];\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x2e:\n          iVar12 = (int)(char)pbVar15[1];\n          if (iVar12 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar13 = ap->gp_offset;\n              if (uVar13 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar13 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar13 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar36 = *puVar33;\n            }\n            else {\n              sVar19 = getIntArg(local_d8);\n              uVar36 = (uint)sVar19;\n            }\n            uVar13 = uVar36;\n            if (((int)uVar36 < 0) && (uVar13 = -uVar36, uVar36 == 0x80000000)) {\n              uVar13 = 0xffffffff;\n            }\n            iVar12 = (int)(char)pbVar15[2];\n            pbVar30 = pbVar15 + 2;\n          }\n          else {\n            pbVar30 = pbVar15 + 1;\n            uVar13 = 0;\n            if (iVar12 - 0x30U < 10) {\n              do {\n                pbVar30 = pbVar30 + 1;\n                uVar13 = iVar12 + -0x30 + uVar13 * 10;\n                iVar12 = (int)(char)*pbVar30;\n              } while (iVar12 - 0x30U < 10);\n              uVar13 = uVar13 & 0x7fffffff;\n            }\n          }\n          if (iVar12 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar12 = (int)(char)*pbVar30;\n          break;\n        case 0x30:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar42 = true;\n          pbVar30 = pbVar15 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar31 = (int)(char)pbVar15[1];\n          pbVar26 = (byte *)(ulong)(iVar12 - 0x30);\n          pbVar30 = pbVar15 + 1;\n          iVar12 = iVar31;\n          if (iVar31 - 0x30U < 10) {\n            do {\n              pbVar15 = pbVar30;\n              pbVar30 = pbVar15 + 1;\n              uVar36 = iVar31 + -0x30 + (int)pbVar26 * 10;\n              pbVar26 = (byte *)(ulong)uVar36;\n              iVar31 = (int)(char)pbVar15[1];\n            } while (iVar31 - 0x30U < 10);\n            pbVar26 = (byte *)(ulong)(uVar36 & 0x7fffffff);\n            iVar12 = iVar31;\n          }\n          if ((iVar12 != 0x2e) && (iVar12 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          pbVar30 = pbVar15 + 1;\n          iVar12 = (int)(char)pbVar15[1];\n          break;\n        case 0x6c:\n          iVar12 = (int)(char)pbVar15[1];\n          if (iVar12 == 0x6c) {\n            iVar12 = (int)(char)pbVar15[2];\n            cVar21 = '\x02';\n            pbVar30 = pbVar15 + 2;\n          }\n          else {\n            pbVar30 = pbVar15 + 1;\n            cVar21 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }" { (case_statement "case 0x20:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar10 = 0x20;\n          pbVar30 = pbVar15 + 1;\n          break;" case number_literal : (expression_statement "iVar12 = (int)(char)pbVar15[1];" (assignment_expression "iVar12 = (int)(char)pbVar15[1]" identifier = (cast_expression "(int)(char)pbVar15[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar15[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar15[1]" identifier [ number_literal ])))) ;) (expression_statement "bVar10 = 0x20;" (assignment_expression "bVar10 = 0x20" identifier = number_literal) ;) (expression_statement "pbVar30 = pbVar15 + 1;" (assignment_expression "pbVar30 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x21:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar27 = 1;\n          pbVar30 = pbVar15 + 1;\n          break;" case number_literal : (expression_statement "iVar12 = (int)(char)pbVar15[1];" (assignment_expression "iVar12 = (int)(char)pbVar15[1]" identifier = (cast_expression "(int)(char)pbVar15[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar15[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar15[1]" identifier [ number_literal ])))) ;) (expression_statement "bVar27 = 1;" (assignment_expression "bVar27 = 1" identifier = number_literal) ;) (expression_statement "pbVar30 = pbVar15 + 1;" (assignment_expression "pbVar30 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "default:\n          goto switchD_0013e8bf_caseD_22;" default : (goto_statement "goto switchD_0013e8bf_caseD_22;" goto statement_identifier ;)) (case_statement "case 0x23:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar39 = 1;\n          pbVar30 = pbVar15 + 1;\n          break;" case number_literal : (expression_statement "iVar12 = (int)(char)pbVar15[1];" (assignment_expression "iVar12 = (int)(char)pbVar15[1]" identifier = (cast_expression "(int)(char)pbVar15[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar15[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar15[1]" identifier [ number_literal ])))) ;) (expression_statement "bVar39 = 1;" (assignment_expression "bVar39 = 1" identifier = number_literal) ;) (expression_statement "pbVar30 = pbVar15 + 1;" (assignment_expression "pbVar30 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x2a:\n          if (local_b6 == 0) {\n            uVar36 = ap->gp_offset;\n            if (uVar36 < 0x30) {\n              puVar33 = (uint *)((ulong)uVar36 + (long)ap->reg_save_area);\n              ap->gp_offset = uVar36 + 8;\n            }\n            else {\n              puVar33 = (uint *)ap->overflow_arg_area;\n              ap->overflow_arg_area = puVar33 + 2;\n            }\n            pbVar26 = (byte *)(ulong)*puVar33;\n          }\n          else {\n            uVar18 = getIntArg(local_d8);\n            pbVar26 = (byte *)(uVar18 & 0xffffffff);\n          }\n          iVar12 = (int)pbVar26;\n          if (iVar12 < 0) {\n            if (iVar12 == -0x80000000) {\n              bVar7 = true;\n              pbVar26 = (byte *)0x0;\n            }\n            else {\n              pbVar26 = (byte *)(ulong)(uint)-iVar12;\n              bVar7 = true;\n            }\n          }\n          iVar12 = (int)(char)pbVar15[1];\n          pbVar30 = pbVar15 + 1;\n          if ((iVar12 != 0x6c) && (iVar12 != 0x2e)) {\n            cVar21 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;" case number_literal : (if_statement "if (local_b6 == 0) {\n            uVar36 = ap->gp_offset;\n            if (uVar36 < 0x30) {\n              puVar33 = (uint *)((ulong)uVar36 + (long)ap->reg_save_area);\n              ap->gp_offset = uVar36 + 8;\n            }\n            else {\n              puVar33 = (uint *)ap->overflow_arg_area;\n              ap->overflow_arg_area = puVar33 + 2;\n            }\n            pbVar26 = (byte *)(ulong)*puVar33;\n          }\n          else {\n            uVar18 = getIntArg(local_d8);\n            pbVar26 = (byte *)(uVar18 & 0xffffffff);\n          }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar36 = ap->gp_offset;\n            if (uVar36 < 0x30) {\n              puVar33 = (uint *)((ulong)uVar36 + (long)ap->reg_save_area);\n              ap->gp_offset = uVar36 + 8;\n            }\n            else {\n              puVar33 = (uint *)ap->overflow_arg_area;\n              ap->overflow_arg_area = puVar33 + 2;\n            }\n            pbVar26 = (byte *)(ulong)*puVar33;\n          }" { (expression_statement "uVar36 = ap->gp_offset;" (assignment_expression "uVar36 = ap->gp_offset" identifier = (field_expression "ap->gp_offset" identifier -> field_identifier)) ;) (if_statement "if (uVar36 < 0x30) {\n              puVar33 = (uint *)((ulong)uVar36 + (long)ap->reg_save_area);\n              ap->gp_offset = uVar36 + 8;\n            }\n            else {\n              puVar33 = (uint *)ap->overflow_arg_area;\n              ap->overflow_arg_area = puVar33 + 2;\n            }" if (parenthesized_expression "(uVar36 < 0x30)" ( (binary_expression "uVar36 < 0x30" identifier < number_literal) )) (compound_statement "{\n              puVar33 = (uint *)((ulong)uVar36 + (long)ap->reg_save_area);\n              ap->gp_offset = uVar36 + 8;\n            }" { (expression_statement "puVar33 = (uint *)((ulong)uVar36 + (long)ap->reg_save_area);" (assignment_expression "puVar33 = (uint *)((ulong)uVar36 + (long)ap->reg_save_area)" identifier = (cast_expression "(uint *)((ulong)uVar36 + (long)ap->reg_save_area)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar36 + (long)ap->reg_save_area)" ( (binary_expression "(ulong)uVar36 + (long)ap->reg_save_area" (cast_expression "(ulong)uVar36" ( (type_descriptor "ulong" type_identifier) ) identifier) + (cast_expression "(long)ap->reg_save_area" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "ap->reg_save_area" identifier -> field_identifier))) )))) ;) (expression_statement "ap->gp_offset = uVar36 + 8;" (assignment_expression "ap->gp_offset = uVar36 + 8" (field_expression "ap->gp_offset" identifier -> field_identifier) = (binary_expression "uVar36 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n              puVar33 = (uint *)ap->overflow_arg_area;\n              ap->overflow_arg_area = puVar33 + 2;\n            }" else (compound_statement "{\n              puVar33 = (uint *)ap->overflow_arg_area;\n              ap->overflow_arg_area = puVar33 + 2;\n            }" { (expression_statement "puVar33 = (uint *)ap->overflow_arg_area;" (assignment_expression "puVar33 = (uint *)ap->overflow_arg_area" identifier = (cast_expression "(uint *)ap->overflow_arg_area" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "ap->overflow_arg_area" identifier -> field_identifier))) ;) (expression_statement "ap->overflow_arg_area = puVar33 + 2;" (assignment_expression "ap->overflow_arg_area = puVar33 + 2" (field_expression "ap->overflow_arg_area" identifier -> field_identifier) = (binary_expression "puVar33 + 2" identifier + number_literal)) ;) }))) (expression_statement "pbVar26 = (byte *)(ulong)*puVar33;" (assignment_expression "pbVar26 = (byte *)(ulong)*puVar33" identifier = (binary_expression "(byte *)(ulong)*puVar33" (cast_expression "(byte *)(ulong)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ulong)" ( identifier ))) * identifier)) ;) }) (else_clause "else {\n            uVar18 = getIntArg(local_d8);\n            pbVar26 = (byte *)(uVar18 & 0xffffffff);\n          }" else (compound_statement "{\n            uVar18 = getIntArg(local_d8);\n            pbVar26 = (byte *)(uVar18 & 0xffffffff);\n          }" { (expression_statement "uVar18 = getIntArg(local_d8);" (assignment_expression "uVar18 = getIntArg(local_d8)" identifier = (call_expression "getIntArg(local_d8)" identifier (argument_list "(local_d8)" ( identifier )))) ;) (expression_statement "pbVar26 = (byte *)(uVar18 & 0xffffffff);" (assignment_expression "pbVar26 = (byte *)(uVar18 & 0xffffffff)" identifier = (cast_expression "(byte *)(uVar18 & 0xffffffff)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 & 0xffffffff)" ( (binary_expression "uVar18 & 0xffffffff" identifier & number_literal) )))) ;) }))) (expression_statement "iVar12 = (int)pbVar26;" (assignment_expression "iVar12 = (int)pbVar26" identifier = (cast_expression "(int)pbVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (iVar12 < 0) {\n            if (iVar12 == -0x80000000) {\n              bVar7 = true;\n              pbVar26 = (byte *)0x0;\n            }\n            else {\n              pbVar26 = (byte *)(ulong)(uint)-iVar12;\n              bVar7 = true;\n            }\n          }" if (parenthesized_expression "(iVar12 < 0)" ( (binary_expression "iVar12 < 0" identifier < number_literal) )) (compound_statement "{\n            if (iVar12 == -0x80000000) {\n              bVar7 = true;\n              pbVar26 = (byte *)0x0;\n            }\n            else {\n              pbVar26 = (byte *)(ulong)(uint)-iVar12;\n              bVar7 = true;\n            }\n          }" { (if_statement "if (iVar12 == -0x80000000) {\n              bVar7 = true;\n              pbVar26 = (byte *)0x0;\n            }\n            else {\n              pbVar26 = (byte *)(ulong)(uint)-iVar12;\n              bVar7 = true;\n            }" if (parenthesized_expression "(iVar12 == -0x80000000)" ( (binary_expression "iVar12 == -0x80000000" identifier == number_literal) )) (compound_statement "{\n              bVar7 = true;\n              pbVar26 = (byte *)0x0;\n            }" { (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) (expression_statement "pbVar26 = (byte *)0x0;" (assignment_expression "pbVar26 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n              pbVar26 = (byte *)(ulong)(uint)-iVar12;\n              bVar7 = true;\n            }" else (compound_statement "{\n              pbVar26 = (byte *)(ulong)(uint)-iVar12;\n              bVar7 = true;\n            }" { (expression_statement "pbVar26 = (byte *)(ulong)(uint)-iVar12;" (assignment_expression "pbVar26 = (byte *)(ulong)(uint)-iVar12" identifier = (binary_expression "(byte *)(ulong)(uint)-iVar12" (cast_expression "(byte *)(ulong)(uint)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier )))) - identifier)) ;) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) }))) })) (expression_statement "iVar12 = (int)(char)pbVar15[1];" (assignment_expression "iVar12 = (int)(char)pbVar15[1]" identifier = (cast_expression "(int)(char)pbVar15[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar15[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar15[1]" identifier [ number_literal ])))) ;) (expression_statement "pbVar30 = pbVar15 + 1;" (assignment_expression "pbVar30 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) (if_statement "if ((iVar12 != 0x6c) && (iVar12 != 0x2e)) {\n            cVar21 = '\0';\n            goto LAB_0013e9c2;\n          }" if (parenthesized_expression "((iVar12 != 0x6c) && (iVar12 != 0x2e))" ( (binary_expression "(iVar12 != 0x6c) && (iVar12 != 0x2e)" (parenthesized_expression "(iVar12 != 0x6c)" ( (binary_expression "iVar12 != 0x6c" identifier != number_literal) )) && (parenthesized_expression "(iVar12 != 0x2e)" ( (binary_expression "iVar12 != 0x2e" identifier != number_literal) ))) )) (compound_statement "{\n            cVar21 = '\0';\n            goto LAB_0013e9c2;\n          }" { (expression_statement "cVar21 = '\0';" (assignment_expression "cVar21 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (goto_statement "goto LAB_0013e9c2;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 0x2b:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar10 = 0x2b;\n          pbVar30 = pbVar15 + 1;\n          break;" case number_literal : (expression_statement "iVar12 = (int)(char)pbVar15[1];" (assignment_expression "iVar12 = (int)(char)pbVar15[1]" identifier = (cast_expression "(int)(char)pbVar15[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar15[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar15[1]" identifier [ number_literal ])))) ;) (expression_statement "bVar10 = 0x2b;" (assignment_expression "bVar10 = 0x2b" identifier = number_literal) ;) (expression_statement "pbVar30 = pbVar15 + 1;" (assignment_expression "pbVar30 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x2c:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar40 = 0x2c;\n          pbVar30 = pbVar15 + 1;\n          break;" case number_literal : (expression_statement "iVar12 = (int)(char)pbVar15[1];" (assignment_expression "iVar12 = (int)(char)pbVar15[1]" identifier = (cast_expression "(int)(char)pbVar15[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar15[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar15[1]" identifier [ number_literal ])))) ;) (expression_statement "bVar40 = 0x2c;" (assignment_expression "bVar40 = 0x2c" identifier = number_literal) ;) (expression_statement "pbVar30 = pbVar15 + 1;" (assignment_expression "pbVar30 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x2d:\n          bVar7 = true;\n          iVar12 = (int)(char)pbVar15[1];\n          pbVar30 = pbVar15 + 1;\n          break;" case number_literal : (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) (expression_statement "iVar12 = (int)(char)pbVar15[1];" (assignment_expression "iVar12 = (int)(char)pbVar15[1]" identifier = (cast_expression "(int)(char)pbVar15[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar15[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar15[1]" identifier [ number_literal ])))) ;) (expression_statement "pbVar30 = pbVar15 + 1;" (assignment_expression "pbVar30 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x2e:\n          iVar12 = (int)(char)pbVar15[1];\n          if (iVar12 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar13 = ap->gp_offset;\n              if (uVar13 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar13 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar13 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar36 = *puVar33;\n            }\n            else {\n              sVar19 = getIntArg(local_d8);\n              uVar36 = (uint)sVar19;\n            }\n            uVar13 = uVar36;\n            if (((int)uVar36 < 0) && (uVar13 = -uVar36, uVar36 == 0x80000000)) {\n              uVar13 = 0xffffffff;\n            }\n            iVar12 = (int)(char)pbVar15[2];\n            pbVar30 = pbVar15 + 2;\n          }\n          else {\n            pbVar30 = pbVar15 + 1;\n            uVar13 = 0;\n            if (iVar12 - 0x30U < 10) {\n              do {\n                pbVar30 = pbVar30 + 1;\n                uVar13 = iVar12 + -0x30 + uVar13 * 10;\n                iVar12 = (int)(char)*pbVar30;\n              } while (iVar12 - 0x30U < 10);\n              uVar13 = uVar13 & 0x7fffffff;\n            }\n          }\n          if (iVar12 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar12 = (int)(char)*pbVar30;\n          break;" case number_literal : (expression_statement "iVar12 = (int)(char)pbVar15[1];" (assignment_expression "iVar12 = (int)(char)pbVar15[1]" identifier = (cast_expression "(int)(char)pbVar15[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar15[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar15[1]" identifier [ number_literal ])))) ;) (if_statement "if (iVar12 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar13 = ap->gp_offset;\n              if (uVar13 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar13 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar13 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar36 = *puVar33;\n            }\n            else {\n              sVar19 = getIntArg(local_d8);\n              uVar36 = (uint)sVar19;\n            }\n            uVar13 = uVar36;\n            if (((int)uVar36 < 0) && (uVar13 = -uVar36, uVar36 == 0x80000000)) {\n              uVar13 = 0xffffffff;\n            }\n            iVar12 = (int)(char)pbVar15[2];\n            pbVar30 = pbVar15 + 2;\n          }\n          else {\n            pbVar30 = pbVar15 + 1;\n            uVar13 = 0;\n            if (iVar12 - 0x30U < 10) {\n              do {\n                pbVar30 = pbVar30 + 1;\n                uVar13 = iVar12 + -0x30 + uVar13 * 10;\n                iVar12 = (int)(char)*pbVar30;\n              } while (iVar12 - 0x30U < 10);\n              uVar13 = uVar13 & 0x7fffffff;\n            }\n          }" if (parenthesized_expression "(iVar12 == 0x2a)" ( (binary_expression "iVar12 == 0x2a" identifier == number_literal) )) (compound_statement "{\n            if (local_b6 == 0) {\n              uVar13 = ap->gp_offset;\n              if (uVar13 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar13 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar13 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar36 = *puVar33;\n            }\n            else {\n              sVar19 = getIntArg(local_d8);\n              uVar36 = (uint)sVar19;\n            }\n            uVar13 = uVar36;\n            if (((int)uVar36 < 0) && (uVar13 = -uVar36, uVar36 == 0x80000000)) {\n              uVar13 = 0xffffffff;\n            }\n            iVar12 = (int)(char)pbVar15[2];\n            pbVar30 = pbVar15 + 2;\n          }" { (if_statement "if (local_b6 == 0) {\n              uVar13 = ap->gp_offset;\n              if (uVar13 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar13 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar13 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar36 = *puVar33;\n            }\n            else {\n              sVar19 = getIntArg(local_d8);\n              uVar36 = (uint)sVar19;\n            }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n              uVar13 = ap->gp_offset;\n              if (uVar13 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar13 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar13 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar36 = *puVar33;\n            }" { (expression_statement "uVar13 = ap->gp_offset;" (assignment_expression "uVar13 = ap->gp_offset" identifier = (field_expression "ap->gp_offset" identifier -> field_identifier)) ;) (if_statement "if (uVar13 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar13 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar13 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }" if (parenthesized_expression "(uVar13 < 0x30)" ( (binary_expression "uVar13 < 0x30" identifier < number_literal) )) (compound_statement "{\n                puVar33 = (uint *)((ulong)uVar13 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar13 + 8;\n              }" { (expression_statement "puVar33 = (uint *)((ulong)uVar13 + (long)ap->reg_save_area);" (assignment_expression "puVar33 = (uint *)((ulong)uVar13 + (long)ap->reg_save_area)" identifier = (cast_expression "(uint *)((ulong)uVar13 + (long)ap->reg_save_area)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar13 + (long)ap->reg_save_area)" ( (binary_expression "(ulong)uVar13 + (long)ap->reg_save_area" (cast_expression "(ulong)uVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) + (cast_expression "(long)ap->reg_save_area" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "ap->reg_save_area" identifier -> field_identifier))) )))) ;) (expression_statement "ap->gp_offset = uVar13 + 8;" (assignment_expression "ap->gp_offset = uVar13 + 8" (field_expression "ap->gp_offset" identifier -> field_identifier) = (binary_expression "uVar13 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }" else (compound_statement "{\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }" { (expression_statement "puVar33 = (uint *)ap->overflow_arg_area;" (assignment_expression "puVar33 = (uint *)ap->overflow_arg_area" identifier = (cast_expression "(uint *)ap->overflow_arg_area" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "ap->overflow_arg_area" identifier -> field_identifier))) ;) (expression_statement "ap->overflow_arg_area = puVar33 + 2;" (assignment_expression "ap->overflow_arg_area = puVar33 + 2" (field_expression "ap->overflow_arg_area" identifier -> field_identifier) = (binary_expression "puVar33 + 2" identifier + number_literal)) ;) }))) (expression_statement "uVar36 = *puVar33;" (assignment_expression "uVar36 = *puVar33" identifier = (pointer_expression "*puVar33" * identifier)) ;) }) (else_clause "else {\n              sVar19 = getIntArg(local_d8);\n              uVar36 = (uint)sVar19;\n            }" else (compound_statement "{\n              sVar19 = getIntArg(local_d8);\n              uVar36 = (uint)sVar19;\n            }" { (expression_statement "sVar19 = getIntArg(local_d8);" (assignment_expression "sVar19 = getIntArg(local_d8)" identifier = (call_expression "getIntArg(local_d8)" identifier (argument_list "(local_d8)" ( identifier )))) ;) (expression_statement "uVar36 = (uint)sVar19;" (assignment_expression "uVar36 = (uint)sVar19" identifier = (cast_expression "(uint)sVar19" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }))) (expression_statement "uVar13 = uVar36;" (assignment_expression "uVar13 = uVar36" identifier = identifier) ;) (if_statement "if (((int)uVar36 < 0) && (uVar13 = -uVar36, uVar36 == 0x80000000)) {\n              uVar13 = 0xffffffff;\n            }" if (parenthesized_expression "(((int)uVar36 < 0) && (uVar13 = -uVar36, uVar36 == 0x80000000))" ( (binary_expression "((int)uVar36 < 0) && (uVar13 = -uVar36, uVar36 == 0x80000000)" (parenthesized_expression "((int)uVar36 < 0)" ( (binary_expression "(int)uVar36 < 0" (cast_expression "(int)uVar36" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "(uVar13 = -uVar36, uVar36 == 0x80000000)" ( (comma_expression "uVar13 = -uVar36, uVar36 == 0x80000000" (assignment_expression "uVar13 = -uVar36" identifier = (unary_expression "-uVar36" - identifier)) , (binary_expression "uVar36 == 0x80000000" identifier == number_literal)) ))) )) (compound_statement "{\n              uVar13 = 0xffffffff;\n            }" { (expression_statement "uVar13 = 0xffffffff;" (assignment_expression "uVar13 = 0xffffffff" identifier = number_literal) ;) })) (expression_statement "iVar12 = (int)(char)pbVar15[2];" (assignment_expression "iVar12 = (int)(char)pbVar15[2]" identifier = (cast_expression "(int)(char)pbVar15[2]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar15[2]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar15[2]" identifier [ number_literal ])))) ;) (expression_statement "pbVar30 = pbVar15 + 2;" (assignment_expression "pbVar30 = pbVar15 + 2" identifier = (binary_expression "pbVar15 + 2" identifier + number_literal)) ;) }) (else_clause "else {\n            pbVar30 = pbVar15 + 1;\n            uVar13 = 0;\n            if (iVar12 - 0x30U < 10) {\n              do {\n                pbVar30 = pbVar30 + 1;\n                uVar13 = iVar12 + -0x30 + uVar13 * 10;\n                iVar12 = (int)(char)*pbVar30;\n              } while (iVar12 - 0x30U < 10);\n              uVar13 = uVar13 & 0x7fffffff;\n            }\n          }" else (compound_statement "{\n            pbVar30 = pbVar15 + 1;\n            uVar13 = 0;\n            if (iVar12 - 0x30U < 10) {\n              do {\n                pbVar30 = pbVar30 + 1;\n                uVar13 = iVar12 + -0x30 + uVar13 * 10;\n                iVar12 = (int)(char)*pbVar30;\n              } while (iVar12 - 0x30U < 10);\n              uVar13 = uVar13 & 0x7fffffff;\n            }\n          }" { (expression_statement "pbVar30 = pbVar15 + 1;" (assignment_expression "pbVar30 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (if_statement "if (iVar12 - 0x30U < 10) {\n              do {\n                pbVar30 = pbVar30 + 1;\n                uVar13 = iVar12 + -0x30 + uVar13 * 10;\n                iVar12 = (int)(char)*pbVar30;\n              } while (iVar12 - 0x30U < 10);\n              uVar13 = uVar13 & 0x7fffffff;\n            }" if (parenthesized_expression "(iVar12 - 0x30U < 10)" ( (binary_expression "iVar12 - 0x30U < 10" (binary_expression "iVar12 - 0x30U" identifier - number_literal) < number_literal) )) (compound_statement "{\n              do {\n                pbVar30 = pbVar30 + 1;\n                uVar13 = iVar12 + -0x30 + uVar13 * 10;\n                iVar12 = (int)(char)*pbVar30;\n              } while (iVar12 - 0x30U < 10);\n              uVar13 = uVar13 & 0x7fffffff;\n            }" { (do_statement "do {\n                pbVar30 = pbVar30 + 1;\n                uVar13 = iVar12 + -0x30 + uVar13 * 10;\n                iVar12 = (int)(char)*pbVar30;\n              } while (iVar12 - 0x30U < 10);" do (compound_statement "{\n                pbVar30 = pbVar30 + 1;\n                uVar13 = iVar12 + -0x30 + uVar13 * 10;\n                iVar12 = (int)(char)*pbVar30;\n              }" { (expression_statement "pbVar30 = pbVar30 + 1;" (assignment_expression "pbVar30 = pbVar30 + 1" identifier = (binary_expression "pbVar30 + 1" identifier + number_literal)) ;) (expression_statement "uVar13 = iVar12 + -0x30 + uVar13 * 10;" (assignment_expression "uVar13 = iVar12 + -0x30 + uVar13 * 10" identifier = (binary_expression "iVar12 + -0x30 + uVar13 * 10" (binary_expression "iVar12 + -0x30" identifier + number_literal) + (binary_expression "uVar13 * 10" identifier * number_literal))) ;) (expression_statement "iVar12 = (int)(char)*pbVar30;" (assignment_expression "iVar12 = (int)(char)*pbVar30" identifier = (cast_expression "(int)(char)*pbVar30" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*pbVar30" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbVar30" * identifier)))) ;) }) while (parenthesized_expression "(iVar12 - 0x30U < 10)" ( (binary_expression "iVar12 - 0x30U < 10" (binary_expression "iVar12 - 0x30U" identifier - number_literal) < number_literal) )) ;) (expression_statement "uVar13 = uVar13 & 0x7fffffff;" (assignment_expression "uVar13 = uVar13 & 0x7fffffff" identifier = (binary_expression "uVar13 & 0x7fffffff" identifier & number_literal)) ;) })) }))) (if_statement "if (iVar12 != 0x6c) goto switchD_0013e8bf_caseD_22;" if (parenthesized_expression "(iVar12 != 0x6c)" ( (binary_expression "iVar12 != 0x6c" identifier != number_literal) )) (goto_statement "goto switchD_0013e8bf_caseD_22;" goto statement_identifier ;)) (expression_statement "iVar12 = (int)(char)*pbVar30;" (assignment_expression "iVar12 = (int)(char)*pbVar30" identifier = (cast_expression "(int)(char)*pbVar30" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*pbVar30" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbVar30" * identifier)))) ;) (break_statement "break;" break ;)) (case_statement "case 0x30:\n          iVar12 = (int)(char)pbVar15[1];\n          bVar42 = true;\n          pbVar30 = pbVar15 + 1;\n          break;" case number_literal : (expression_statement "iVar12 = (int)(char)pbVar15[1];" (assignment_expression "iVar12 = (int)(char)pbVar15[1]" identifier = (cast_expression "(int)(char)pbVar15[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar15[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar15[1]" identifier [ number_literal ])))) ;) (expression_statement "bVar42 = true;" (assignment_expression "bVar42 = true" identifier = true) ;) (expression_statement "pbVar30 = pbVar15 + 1;" (assignment_expression "pbVar30 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x31:" case number_literal :) (case_statement "case 0x32:" case number_literal :) (case_statement "case 0x33:" case number_literal :) (case_statement "case 0x34:" case number_literal :) (case_statement "case 0x35:" case number_literal :) (case_statement "case 0x36:" case number_literal :) (case_statement "case 0x37:" case number_literal :) (case_statement "case 0x38:" case number_literal :) (case_statement "case 0x39:\n          iVar31 = (int)(char)pbVar15[1];\n          pbVar26 = (byte *)(ulong)(iVar12 - 0x30);\n          pbVar30 = pbVar15 + 1;\n          iVar12 = iVar31;\n          if (iVar31 - 0x30U < 10) {\n            do {\n              pbVar15 = pbVar30;\n              pbVar30 = pbVar15 + 1;\n              uVar36 = iVar31 + -0x30 + (int)pbVar26 * 10;\n              pbVar26 = (byte *)(ulong)uVar36;\n              iVar31 = (int)(char)pbVar15[1];\n            } while (iVar31 - 0x30U < 10);\n            pbVar26 = (byte *)(ulong)(uVar36 & 0x7fffffff);\n            iVar12 = iVar31;\n          }\n          if ((iVar12 != 0x2e) && (iVar12 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          pbVar30 = pbVar15 + 1;\n          iVar12 = (int)(char)pbVar15[1];\n          break;" case number_literal : (expression_statement "iVar31 = (int)(char)pbVar15[1];" (assignment_expression "iVar31 = (int)(char)pbVar15[1]" identifier = (cast_expression "(int)(char)pbVar15[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar15[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar15[1]" identifier [ number_literal ])))) ;) (expression_statement "pbVar26 = (byte *)(ulong)(iVar12 - 0x30);" (assignment_expression "pbVar26 = (byte *)(ulong)(iVar12 - 0x30)" identifier = (cast_expression "(byte *)(ulong)(iVar12 - 0x30)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(ulong)(iVar12 - 0x30)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar12 - 0x30)" ( (binary_expression "iVar12 - 0x30" identifier - number_literal) ))))) ;) (expression_statement "pbVar30 = pbVar15 + 1;" (assignment_expression "pbVar30 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) (expression_statement "iVar12 = iVar31;" (assignment_expression "iVar12 = iVar31" identifier = identifier) ;) (if_statement "if (iVar31 - 0x30U < 10) {\n            do {\n              pbVar15 = pbVar30;\n              pbVar30 = pbVar15 + 1;\n              uVar36 = iVar31 + -0x30 + (int)pbVar26 * 10;\n              pbVar26 = (byte *)(ulong)uVar36;\n              iVar31 = (int)(char)pbVar15[1];\n            } while (iVar31 - 0x30U < 10);\n            pbVar26 = (byte *)(ulong)(uVar36 & 0x7fffffff);\n            iVar12 = iVar31;\n          }" if (parenthesized_expression "(iVar31 - 0x30U < 10)" ( (binary_expression "iVar31 - 0x30U < 10" (binary_expression "iVar31 - 0x30U" identifier - number_literal) < number_literal) )) (compound_statement "{\n            do {\n              pbVar15 = pbVar30;\n              pbVar30 = pbVar15 + 1;\n              uVar36 = iVar31 + -0x30 + (int)pbVar26 * 10;\n              pbVar26 = (byte *)(ulong)uVar36;\n              iVar31 = (int)(char)pbVar15[1];\n            } while (iVar31 - 0x30U < 10);\n            pbVar26 = (byte *)(ulong)(uVar36 & 0x7fffffff);\n            iVar12 = iVar31;\n          }" { (do_statement "do {\n              pbVar15 = pbVar30;\n              pbVar30 = pbVar15 + 1;\n              uVar36 = iVar31 + -0x30 + (int)pbVar26 * 10;\n              pbVar26 = (byte *)(ulong)uVar36;\n              iVar31 = (int)(char)pbVar15[1];\n            } while (iVar31 - 0x30U < 10);" do (compound_statement "{\n              pbVar15 = pbVar30;\n              pbVar30 = pbVar15 + 1;\n              uVar36 = iVar31 + -0x30 + (int)pbVar26 * 10;\n              pbVar26 = (byte *)(ulong)uVar36;\n              iVar31 = (int)(char)pbVar15[1];\n            }" { (expression_statement "pbVar15 = pbVar30;" (assignment_expression "pbVar15 = pbVar30" identifier = identifier) ;) (expression_statement "pbVar30 = pbVar15 + 1;" (assignment_expression "pbVar30 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) (expression_statement "uVar36 = iVar31 + -0x30 + (int)pbVar26 * 10;" (assignment_expression "uVar36 = iVar31 + -0x30 + (int)pbVar26 * 10" identifier = (binary_expression "iVar31 + -0x30 + (int)pbVar26 * 10" (binary_expression "iVar31 + -0x30" identifier + number_literal) + (binary_expression "(int)pbVar26 * 10" (cast_expression "(int)pbVar26" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "pbVar26 = (byte *)(ulong)uVar36;" (assignment_expression "pbVar26 = (byte *)(ulong)uVar36" identifier = (cast_expression "(byte *)(ulong)uVar36" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)uVar36" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "iVar31 = (int)(char)pbVar15[1];" (assignment_expression "iVar31 = (int)(char)pbVar15[1]" identifier = (cast_expression "(int)(char)pbVar15[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar15[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar15[1]" identifier [ number_literal ])))) ;) }) while (parenthesized_expression "(iVar31 - 0x30U < 10)" ( (binary_expression "iVar31 - 0x30U < 10" (binary_expression "iVar31 - 0x30U" identifier - number_literal) < number_literal) )) ;) (expression_statement "pbVar26 = (byte *)(ulong)(uVar36 & 0x7fffffff);" (assignment_expression "pbVar26 = (byte *)(ulong)(uVar36 & 0x7fffffff)" identifier = (cast_expression "(byte *)(ulong)(uVar36 & 0x7fffffff)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(ulong)(uVar36 & 0x7fffffff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar36 & 0x7fffffff)" ( (binary_expression "uVar36 & 0x7fffffff" identifier & number_literal) ))))) ;) (expression_statement "iVar12 = iVar31;" (assignment_expression "iVar12 = iVar31" identifier = identifier) ;) })) (if_statement "if ((iVar12 != 0x2e) && (iVar12 != 0x6c)) goto switchD_0013e8bf_caseD_22;" if (parenthesized_expression "((iVar12 != 0x2e) && (iVar12 != 0x6c))" ( (binary_expression "(iVar12 != 0x2e) && (iVar12 != 0x6c)" (parenthesized_expression "(iVar12 != 0x2e)" ( (binary_expression "iVar12 != 0x2e" identifier != number_literal) )) && (parenthesized_expression "(iVar12 != 0x6c)" ( (binary_expression "iVar12 != 0x6c" identifier != number_literal) ))) )) (goto_statement "goto switchD_0013e8bf_caseD_22;" goto statement_identifier ;)) (expression_statement "pbVar30 = pbVar15 + 1;" (assignment_expression "pbVar30 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) (expression_statement "iVar12 = (int)(char)pbVar15[1];" (assignment_expression "iVar12 = (int)(char)pbVar15[1]" identifier = (cast_expression "(int)(char)pbVar15[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar15[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar15[1]" identifier [ number_literal ])))) ;) (break_statement "break;" break ;)) (case_statement "case 0x6c:\n          iVar12 = (int)(char)pbVar15[1];\n          if (iVar12 == 0x6c) {\n            iVar12 = (int)(char)pbVar15[2];\n            cVar21 = '\x02';\n            pbVar30 = pbVar15 + 2;\n          }\n          else {\n            pbVar30 = pbVar15 + 1;\n            cVar21 = '\x01';\n          }\n          goto LAB_0013e9c2;" case number_literal : (expression_statement "iVar12 = (int)(char)pbVar15[1];" (assignment_expression "iVar12 = (int)(char)pbVar15[1]" identifier = (cast_expression "(int)(char)pbVar15[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar15[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar15[1]" identifier [ number_literal ])))) ;) (if_statement "if (iVar12 == 0x6c) {\n            iVar12 = (int)(char)pbVar15[2];\n            cVar21 = '\x02';\n            pbVar30 = pbVar15 + 2;\n          }\n          else {\n            pbVar30 = pbVar15 + 1;\n            cVar21 = '\x01';\n          }" if (parenthesized_expression "(iVar12 == 0x6c)" ( (binary_expression "iVar12 == 0x6c" identifier == number_literal) )) (compound_statement "{\n            iVar12 = (int)(char)pbVar15[2];\n            cVar21 = '\x02';\n            pbVar30 = pbVar15 + 2;\n          }" { (expression_statement "iVar12 = (int)(char)pbVar15[2];" (assignment_expression "iVar12 = (int)(char)pbVar15[2]" identifier = (cast_expression "(int)(char)pbVar15[2]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar15[2]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar15[2]" identifier [ number_literal ])))) ;) (expression_statement "cVar21 = '\x02';" (assignment_expression "cVar21 = '\x02'" identifier = (char_literal "'\x02'" ' escape_sequence ')) ;) (expression_statement "pbVar30 = pbVar15 + 2;" (assignment_expression "pbVar30 = pbVar15 + 2" identifier = (binary_expression "pbVar15 + 2" identifier + number_literal)) ;) }) (else_clause "else {\n            pbVar30 = pbVar15 + 1;\n            cVar21 = '\x01';\n          }" else (compound_statement "{\n            pbVar30 = pbVar15 + 1;\n            cVar21 = '\x01';\n          }" { (expression_statement "pbVar30 = pbVar15 + 1;" (assignment_expression "pbVar30 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) (expression_statement "cVar21 = '\x01';" (assignment_expression "cVar21 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) }))) (goto_statement "goto LAB_0013e9c2;" goto statement_identifier ;)) })) (expression_statement "pbVar15 = pbVar30;" (assignment_expression "pbVar15 = pbVar30" identifier = identifier) ;) }) while (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) ;) (labeled_statement "switchD_0013e8bf_caseD_22:\n      cVar21 = '\0';" statement_identifier : (expression_statement "cVar21 = '\0';" (assignment_expression "cVar21 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;)) (labeled_statement "LAB_0013e9c2:\n      uVar36 = (uint)pbVar26;" statement_identifier : (expression_statement "uVar36 = (uint)pbVar26;" (assignment_expression "uVar36 = (uint)pbVar26" identifier = (cast_expression "(uint)pbVar26" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (expression_statement "peVar38 = fmtinfo;" (assignment_expression "peVar38 = fmtinfo" identifier = identifier) ;) (expression_statement "iVar31 = 0;" (assignment_expression "iVar31 = 0" identifier = number_literal) ;) (expression_statement "iVar32 = 100;" (assignment_expression "iVar32 = 100" identifier = number_literal) ;) (while_statement "while (peVar38 = peVar38 + 1, iVar32 != iVar12) {\n        iVar31 = iVar31 + 1;\n        if (iVar31 == 0x17) goto switchD_0013ea21_caseD_11;\n        iVar32 = (int)peVar38->fmttype;\n      }" while (parenthesized_expression "(peVar38 = peVar38 + 1, iVar32 != iVar12)" ( (comma_expression "peVar38 = peVar38 + 1, iVar32 != iVar12" (assignment_expression "peVar38 = peVar38 + 1" identifier = (binary_expression "peVar38 + 1" identifier + number_literal)) , (binary_expression "iVar32 != iVar12" identifier != identifier)) )) (compound_statement "{\n        iVar31 = iVar31 + 1;\n        if (iVar31 == 0x17) goto switchD_0013ea21_caseD_11;\n        iVar32 = (int)peVar38->fmttype;\n      }" { (expression_statement "iVar31 = iVar31 + 1;" (assignment_expression "iVar31 = iVar31 + 1" identifier = (binary_expression "iVar31 + 1" identifier + number_literal)) ;) (if_statement "if (iVar31 == 0x17) goto switchD_0013ea21_caseD_11;" if (parenthesized_expression "(iVar31 == 0x17)" ( (binary_expression "iVar31 == 0x17" identifier == number_literal) )) (goto_statement "goto switchD_0013ea21_caseD_11;" goto statement_identifier ;)) (expression_statement "iVar32 = (int)peVar38->fmttype;" (assignment_expression "iVar32 = (int)peVar38->fmttype" identifier = (cast_expression "(int)peVar38->fmttype" ( (type_descriptor "int" primitive_type) ) (field_expression "peVar38->fmttype" identifier -> field_identifier))) ;) })) (expression_statement "eVar37 = fmtinfo[iVar31].type;" (assignment_expression "eVar37 = fmtinfo[iVar31].type" identifier = (field_expression "fmtinfo[iVar31].type" (subscript_expression "fmtinfo[iVar31]" identifier [ identifier ]) . field_identifier)) ;) (switch_statement "switch(eVar37) {\n      case '\0':\n      case '\x0f':\n        bVar40 = 0;\n      case '\x10':\n        if ((fmtinfo[iVar31].flags & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar18 = (ulong)*puVar33;\n              bVar10 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              bVar10 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar18 = getIntArg(local_d8);\n            bVar10 = 0;\n          }\nLAB_0013f51d:\n          if (uVar18 == 0) {\n            bVar39 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                piVar24 = (int *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                piVar24 = (int *)ap->overflow_arg_area;\n                ap->overflow_arg_area = piVar24 + 2;\n              }\n              uVar18 = (ulong)*piVar24;\n              if ((long)uVar18 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              if ((long)uVar18 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar18 = getIntArg(local_d8);\n          if (-1 < (long)uVar18) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar18 == 0x8000000000000000) {\n            bVar10 = 0x2d;\n            uVar18 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar18 = -uVar18;\n            bVar10 = 0x2d;\n          }\n        }\n        if ((bVar42) && (uVar22 = uVar36 - (bVar10 != 0), (int)uVar13 < (int)uVar22)) {\n          uVar13 = uVar22;\n        }\n        if ((int)uVar13 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar15 = (byte *)(buf + 0x45);\n        }\n        else {\n          sVar19 = (long)(int)uVar13 + 10;\n          if (bVar40 != 0) {\n            sVar19 = sVar19 + (int)uVar13 / 3;\n          }\n          local_e0 = (byte *)printfTempBuf(pAccum,sVar19);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar15 = local_e0 + (long)(int)sVar19 + -1;\n        }\n        pbVar26 = pbVar15;\n        if (eVar37 == '\x0f') {\n          if ((uVar18 % 10 < 4) && ((uVar18 / 10) % 10 != 1)) {\n            iVar12 = (int)(uVar18 % 10) * 2;\n            bVar27 = "thstndrd"[iVar12 + 1];\n            bVar11 = "thstndrd"[iVar12];\n          }\n          else {\n            bVar11 = 0x74;\n            bVar27 = 0x68;\n          }\n          pbVar15[-1] = bVar27;\n          pbVar26 = pbVar15 + -2;\n          pbVar15[-2] = bVar11;\n        }\n        bVar27 = fmtinfo[iVar31].charset;\n        uVar35 = (ulong)fmtinfo[iVar31].base;\n        do {\n          pbVar26 = pbVar26 + -1;\n          *pbVar26 = "0123456789ABCDEF0123456789abcdef"[uVar18 % uVar35 + (ulong)bVar27];\n          bVar42 = uVar35 <= uVar18;\n          uVar18 = uVar18 / uVar35;\n        } while (bVar42);\n        uVar22 = (int)pbVar15 - (int)pbVar26;\n        pbVar41 = pbVar26;\n        if ((int)uVar22 < (int)uVar13) {\n          pbVar41 = pbVar26 + ~(ulong)((uVar13 - 1) - uVar22);\n          do {\n            pbVar26 = pbVar26 + -1;\n            *pbVar26 = 0x30;\n            uVar22 = uVar13;\n          } while (pbVar26 != pbVar41);\n        }\n        if (bVar40 != 0) {\n          iVar32 = (int)(uVar22 - 1) / 3;\n          iVar12 = (int)(uVar22 - 1) % 3 + 1;\n          pbVar41 = pbVar41 + -(long)iVar32;\n          if (iVar32 != 0) {\n            iVar8 = 0;\n            while( true ) {\n              do {\n                iVar23 = iVar8;\n                pbVar41[iVar23] = pbVar41[iVar32 + iVar23];\n                iVar12 = iVar12 + -1;\n                iVar8 = iVar23 + 1;\n              } while (iVar12 != 0);\n              pbVar41[iVar23 + 1] = bVar40;\n              iVar32 = iVar32 + -1;\n              if (iVar32 == 0) break;\n              iVar12 = 3;\n              iVar8 = iVar23 + 2;\n            }\n          }\n        }\n        if (bVar10 != 0) {\n          pbVar41[-1] = bVar10;\n          pbVar41 = pbVar41 + -1;\n        }\n        if ((bVar39 != 0) && (bVar10 = fmtinfo[iVar31].prefix, bVar10 != 0)) {\n          pbVar26 = (byte *)("-x0" + bVar10);\n          bVar10 = "-x0"[bVar10];\n          while (bVar10 != 0) {\n            pbVar41 = pbVar41 + -1;\n            pbVar26 = pbVar26 + 1;\n            *pbVar41 = bVar10;\n            bVar10 = *pbVar26;\n          }\n        }\n        uVar22 = (int)pbVar15 - (int)pbVar41;\n        uVar36 = uVar36 - uVar22;\nLAB_0013f018:\n        if ((int)uVar36 < 1) {\nLAB_0013fd63:\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }\n        else if (bVar7) {\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n        }\n        else {\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }\n        if (local_e0 != (byte *)0x0) {\n          sqlite3DbFreeNN(pAccum->db,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar22 = ap->fp_offset;\n          if (uVar22 < 0xb0) {\n            ap->fp_offset = uVar22 + 0x10;\n            dVar44 = *(double *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            pdVar3 = (double *)ap->overflow_arg_area;\n            ap->overflow_arg_area = pdVar3 + 1;\n            dVar44 = *pdVar3;\n          }\n          if (uVar13 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar43 = 0 < (int)uVar13;\n        }\n        else {\n          iVar12 = local_d8->nUsed;\n          if (iVar12 < local_d8->nArg) {\n            local_d8->nUsed = iVar12 + 1;\n            dVar44 = sqlite3_value_double(local_d8->apArg[iVar12]);\n          }\n          else {\n            dVar44 = 0.0;\n          }\n          if (uVar13 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar43 = true;\n          uVar13 = 6;\n        }\n        if (dVar44 < 0.0) {\n          dVar44 = -dVar44;\n          bVar10 = 0x2d;\n        }\n        dVar45 = DAT_001fae78;\n        if ((eVar37 != '\x03') || (!bVar43)) {\n          uVar22 = uVar13 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar13 = uVar13 - 1;\n        uVar22 = uVar13 & 0xfff;\n        if (uVar22 != 0) {\n          do {\n            dVar45 = dVar45 * DAT_001faf40;\n            uVar22 = uVar22 - 1;\njoined_r0x0013ec49:\n          } while (uVar22 != 0);\n          if (eVar37 == '\x01') {\n            dVar44 = dVar45 + dVar44;\n          }\n        }\n        if (NAN(dVar44)) {\n          uVar36 = uVar36 - 3;\n          uVar22 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar41 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar18 = 0;\n        if (0.0 < dVar44) {\n          dVar5 = _DAT_001faf38;\n          if (dVar44 < _DAT_001faf38) {\n            dVar5 = (double)_DAT_001fae18;\n            bVar43 = true;\n            dVar6 = 1.0;\n          }\n          else {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 100;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = _DAT_001faf38 * dVar6;\n            } while (_DAT_001faf38 * dVar6 <= dVar44 && (int)uVar22 < 0x15f);\n            dVar5 = dVar6 * (double)_DAT_001fae18;\n          }\n          if ((dVar5 <= dVar44) && (bVar43)) {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 10;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = dVar6 * (double)_DAT_001fae18;\n            } while (dVar6 * (double)_DAT_001fae18 <= dVar44 && bVar43);\n          }\n          dVar5 = (double)_DAT_001fae10;\n          if ((dVar6 * dVar5 <= dVar44) && (dVar9 = dVar6 * dVar5, bVar43)) {\n            do {\n              dVar6 = dVar9;\n              uVar22 = (int)uVar18 + 1;\n              uVar18 = (ulong)uVar22;\n              dVar9 = dVar6 * dVar5;\n            } while ((int)uVar22 < 0x15f && dVar6 * dVar5 <= dVar44);\n          }\n          for (dVar44 = dVar44 / dVar6; dVar44 < _DAT_001faf48;\n              dVar44 = dVar44 * (double)_DAT_001fae1c) {\n            uVar18 = (ulong)((int)uVar18 - 8);\n          }\n          for (; dVar44 < 1.0; dVar44 = dVar44 * dVar5) {\n            uVar18 = (ulong)((int)uVar18 - 1);\n          }\n          if (0x15e < (int)uVar18) {\n            pbVar41 = (byte *)buf;\n            pbVar15 = pbVar41 + (bVar10 != 0);\n            buf[0] = bVar10;\n            pbVar15[0] = 0x49;\n            pbVar15[1] = 0x6e;\n            pbVar15[2] = 0x66;\n            pbVar15[3] = 0;\n            if (bVar10 == 0) {\n              uVar36 = uVar36 - 3;\n              uVar22 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              uVar36 = uVar36 - 4;\n              uVar22 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar18;\n        local_b5 = bVar27;\n        if (eVar37 == '\x01') {\n          iVar12 = 0;\n          if (-1 < local_c8) {\n            iVar12 = local_c8;\n          }\n          lVar34 = (long)iVar12;\n        }\n        else {\n          dVar44 = dVar45 + dVar44;\n          if ((double)_DAT_001fae10 <= dVar44) {\n            dVar44 = dVar44 * DAT_001faf40;\n            uVar18 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar18;\n          if (eVar37 == '\x03') {\n            local_b5 = bVar39 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar13 < local_c8)) {\n              lVar34 = 0;\n              eVar37 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar13 = uVar13 - local_c8;\n              iVar12 = 0;\n              if (-1 < local_c8) {\n                iVar12 = local_c8;\n              }\n              eVar37 = '\x01';\n              lVar34 = (long)iVar12;\n            }\n          }\n          else if (eVar37 == '\x02') {\n            lVar34 = 0;\n            local_c8 = 0;\n          }\n          else {\n            eVar37 = '\x01';\n            iVar12 = 0;\n            if (-1 < local_c8) {\n              iVar12 = local_c8;\n            }\n            lVar34 = (long)iVar12;\n          }\n        }\n        lVar29 = (long)(int)uVar36;\n        lVar34 = lVar34 + (int)uVar13 + 0xf + lVar29;\n        if (lVar34 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar41 = (byte *)buf;\n        }\n        else {\n          pbVar41 = (byte *)printfTempBuf(pAccum,lVar34);\n          local_e0 = pbVar41;\n          if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar12 = (uint)bVar27 * 10 + 0x10;\n        bVar43 = 0 < (int)uVar13;\n        pbVar26 = pbVar41;\n        pbVar15 = pbVar41 + 1;\n        if (bVar10 != 0) {\n          *pbVar41 = bVar10;\n          pbVar15 = pbVar41 + 2;\n          pbVar26 = pbVar41 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar26 = 0x30;\n          uVar22 = local_c8 + 1;\n          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar26 = pbVar15 + 1;\n            *pbVar15 = 0x2e;\n            pbVar15 = pbVar26;\n            if (uVar22 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar26 = pbVar15;\n            do {\n              pbVar20 = pbVar26 + 1;\n              *pbVar26 = 0x30;\n              pbVar26 = pbVar20;\n            } while (pbVar20 != pbVar15 + (ulong)~uVar22 + 1);\n            uVar13 = (uVar13 - 1) + local_c8 + 2;\n            pbVar15 = pbVar15 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar13) {\n              pbVar26 = pbVar15;\n              do {\n                while (pbVar20 = pbVar26 + 1, 0 < iVar12) {\n                  iVar12 = iVar12 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar44);\n                  *pbVar26 = (char)local_c8 + 0x30;\n                  dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n                  pbVar26 = pbVar20;\n                  if (pbVar20 == pbVar15 + (ulong)(uVar13 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar26 = 0x30;\n                pbVar26 = pbVar20;\n              } while (pbVar20 != pbVar15 + (ulong)(uVar13 - 1) + 1);\nLAB_0013ee39:\n              pbVar15 = pbVar15 + (ulong)(uVar13 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar22 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar15 = pbVar26 + (long)local_c8 + 1;\n          do {\n            while (pbVar20 = pbVar26, pbVar26 = pbVar20 + 1, 0 < iVar12) {\n              iVar12 = iVar12 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar44);\n              *pbVar20 = (char)local_c8 + 0x30;\n              dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n              if (pbVar26 == pbVar15) goto LAB_0013fe8d;\n            }\n            *pbVar20 = 0x30;\n          } while (pbVar26 != pbVar15);\nLAB_0013fe8d:\n          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar15 = pbVar20 + 2;\n            *pbVar26 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar43 || (bVar39 != 0 || bVar27 != 0))) {\n            while (pbVar15[-1] == 0x30) {\n              pbVar15 = pbVar15 + -1;\n              *pbVar15 = 0;\n            }\n            if (pbVar15[-1] == 0x2e) {\n              if (bVar27 == 0) {\n                pbVar15[-1] = 0;\n                pbVar15 = pbVar15 + -1;\n              }\n              else {\n                *pbVar15 = 0x30;\n                pbVar15 = pbVar15 + 1;\n              }\n            }\n          }\n        }\n        if (eVar37 == '\x02') {\n          pbVar26 = pbVar15 + 2;\n          *pbVar15 = "0123456789ABCDEF0123456789abcdef"[fmtinfo[iVar31].charset];\n          bVar27 = 0x2b;\n          if ((int)uVar18 < 0) {\n            uVar18 = (ulong)(uint)-(int)uVar18;\n            bVar27 = 0x2d;\n          }\n          pbVar15[1] = bVar27;\n          if (99 < (int)uVar18) {\n            pbVar26 = pbVar15 + 3;\n            pbVar15[2] = (char)(uVar18 / 100) + 0x30;\n            uVar18 = (ulong)(uint)((int)uVar18 + (int)(uVar18 / 100) * -100);\n          }\n          pbVar15 = pbVar26 + 2;\n          cVar21 = (char)(uVar18 / 10);\n          *pbVar26 = cVar21 + 0x30;\n          pbVar26[1] = (char)uVar18 + cVar21 * -10 + 0x30;\n        }\n        *pbVar15 = 0;\n        uVar22 = (int)pbVar15 - (int)pbVar41;\n        if (!(bool)(bVar42 & (bVar7 ^ 1U))) {\n          uVar36 = uVar36 - uVar22;\n          goto LAB_0013f018;\n        }\n        if ((int)uVar22 < (int)uVar36) {\n          iVar12 = uVar36 - uVar22;\n          if (iVar12 <= (int)uVar36) {\n            do {\n              pbVar41[lVar29] = pbVar41[lVar29 - iVar12];\n              lVar29 = lVar29 + -1;\n            } while (iVar12 <= (int)lVar29);\n          }\n          pbVar15 = pbVar41 + (bVar10 != 0);\n          do {\n            *pbVar15 = 0x30;\n            pbVar15 = pbVar15 + 1;\n            uVar22 = uVar36;\n          } while (pbVar41 + (ulong)(iVar12 - 1) + (ulong)(bVar10 != 0) + 1 != pbVar15);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          sqlite3_str_append(pAccum,(char *)pbVar41,0);\n          break;\n        }\n        uVar14 = pAccum->nChar;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          puVar28 = (undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area);\n          ap->gp_offset = uVar13 + 8;\n        }\n        else {\n          puVar28 = (undefined8 *)ap->overflow_arg_area;\n          ap->overflow_arg_area = puVar28 + 1;\n        }\n        *(u32 *)*puVar28 = uVar14;\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        bVar10 = pbVar30[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            ap->gp_offset = uVar22 + 8;\n            pbVar41 = *(byte **)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n            pbVar41 = (byte *)*puVar28;\n          }\n          if (pbVar41 == (byte *)0x0) goto LAB_0013fb9a;\n          if (eVar37 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar41;\n          if (((pAccum->nChar != 0) || (pAccum->mxAlloc == 0)) ||\n             ((uVar36 != 0 || (-1 < (int)uVar13)))) goto joined_r0x0013fbae;\n          if (pAccum->accError == '\0') {\n            pAccum->zText = (char *)pbVar41;\n            uVar14 = (*sqlite3Config.m.xSize)(pbVar41);\n            pAccum->nAlloc = uVar14;\n            sVar16 = strlen((char *)pbVar41);\n            pAccum->printfFlags = pAccum->printfFlags | 4;\n            pAccum->nChar = (uint)sVar16 & 0x7fffffff;\n            sqlite3_str_append(pAccum,(char *)pbVar41,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar16 = strlen((char *)pbVar41);\n          uVar22 = (uint)sVar16 & 0x7fffffff;\n          goto LAB_0013fa12;\n        }\n        pbVar41 = (byte *)getTextArg(local_d8);\n        if (pbVar41 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar41 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar13 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar15 = pbVar41;\n        if (bVar27 != 0) {\n          while ((pbVar20 = pbVar15, uVar13 = uVar13 - 1, uVar13 != 0xffffffff && (*pbVar20 != 0)))\n          {\n            pbVar15 = pbVar20 + 1;\n            if (0xbf < *pbVar20) {\n              bVar10 = pbVar20[1];\n              while ((bVar10 & 0xc0) == 0x80) {\n                pbVar15 = pbVar15 + 1;\n                bVar10 = *pbVar15;\n              }\n            }\n          }\n          uVar22 = (int)pbVar20 - (int)pbVar41;\n          bVar27 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar13 == 0) || (*pbVar41 == 0)) {\n          uVar22 = 0;\n          goto LAB_0013f018;\n        }\n        lVar34 = 1;\n        do {\n          uVar22 = (uint)lVar34;\n          if ((ulong)(uVar13 - 1) + 1 == lVar34) break;\n          pbVar15 = pbVar41 + lVar34;\n          lVar34 = lVar34 + 1;\n        } while (*pbVar15 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        buf[0] = '%';\n        uVar36 = uVar36 - 1;\n        pbVar41 = (byte *)buf;\n        uVar22 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            ap->gp_offset = uVar22 + 8;\n            uVar1 = *(uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            puVar33 = (uint *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar33 + 2;\n            uVar1 = *puVar33;\n          }\n          if (uVar1 < 0x80) {\n            buf[0] = (byte)uVar1;\n            uVar22 = 1;\n          }\n          else {\n            cVar21 = ((byte)uVar1 & 0x3f) + 0x80;\n            bVar10 = (byte)(uVar1 >> 6);\n            if (uVar1 < 0x800) {\n              buf[1] = cVar21;\n              uVar22 = 2;\n              buf[0] = bVar10 - 0x40;\n            }\n            else {\n              buf[2] = (bVar10 & 0x3f) + 0x80;\n              bVar10 = (byte)(uVar1 >> 0xc);\n              if (uVar1 < 0x10000) {\n                buf[1] = buf[2];\n                uVar22 = 3;\n                buf[0] = bVar10 - 0x20;\n                buf[2] = cVar21;\n              }\n              else {\n                uVar22 = 4;\n                buf[3] = cVar21;\n                buf[0] = ((byte)(uVar1 >> 0x12) & 7) - 0x10;\n                buf[1] = (bVar10 & 0x3f) + 0x80;\n              }\n            }\n          }\n        }\n        else {\n          pbVar41 = (byte *)getTextArg(local_d8);\n          if (pbVar41 == (byte *)0x0) {\n            buf[0] = '\0';\n          }\n          else {\n            buf[0] = *pbVar41;\n            if ((*pbVar41 & 0xc0) == 0xc0) {\n              lVar34 = 1;\n              do {\n                uVar22 = (uint)lVar34;\n                if ((pbVar41[lVar34] & 0xc0) != 0x80) goto joined_r0x0013fa79;\n                buf[lVar34] = pbVar41[lVar34];\n                lVar34 = lVar34 + 1;\n              } while (lVar34 != 4);\n              uVar22 = 4;\n              goto joined_r0x0013fa79;\n            }\n          }\n          uVar22 = 1;\n        }\njoined_r0x0013fa79:\n        if (1 < (int)uVar13) {\n          iVar12 = uVar13 - 1;\n          uVar36 = uVar36 - iVar12;\n          if (((int)uVar36 < 2) || (bVar7)) {\n            local_e0 = (byte *)(ulong)uVar36;\n          }\n          else {\n            sqlite3_str_appendchar(pAccum,uVar36 - 1,' ');\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            sqlite3_str_append(pAccum,buf,uVar22);\n            iVar12 = iVar12 + -1;\n          } while (iVar12 != 0);\n          pbVar26 = local_e0;\n          uVar36 = (uint)local_e0;\n        }\n        if (0 < (int)uVar36) {\n          pbVar41 = (byte *)buf;\n          local_e0 = (byte *)0x0;\n          iVar12 = uVar22 - 1;\n          goto LAB_0013efc6;\n        }\n        pbVar41 = (byte *)buf;\n        sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar10 = (eVar37 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            puVar28 = (undefined8 *)((ulong)uVar22 + (long)ap->reg_save_area);\n            ap->gp_offset = uVar22 + 8;\n          }\n          else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n          }\n          local_e0 = (byte *)*puVar28;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar13 != 0) && (bVar39 = *local_e0, pbVar15 = local_e0, bVar39 != 0))\n          goto LAB_0013f8fa;\n          if (eVar37 != '\n') {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar41 = pbVar20;\n            goto LAB_0013fa0c;\n          }\n          pbVar41 = (byte *)buf;\n          buf[0] = bVar10;\n          lVar34 = 2;\n          uVar22 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar20 = (byte *)(buf + 1);\nLAB_0013fa06:\n          *pbVar20 = bVar10;\n          pbVar20 = pbVar41 + lVar34;\n        }\n        else {\n          local_e0 = (byte *)getTextArg(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar15 = (byte *)0x1e846d;\n          if (eVar37 != '\n') {\n            pbVar15 = &DAT_001e9900;\n          }\n          if (uVar13 == 0) {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            pbVar41 = pbVar20;\n          }\n          else {\n            bVar39 = *pbVar15;\nLAB_0013f8fa:\n            iVar31 = 0;\n            iVar12 = 0;\n            do {\n              iVar32 = iVar12;\n              if (bVar10 == bVar39) {\n                iVar31 = iVar31 + 1;\n              }\n              else if (((bVar27 != 0) && ((bVar39 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U) == 0x80)) {\n                lVar34 = (long)(iVar12 + 1);\n                do {\n                  lVar29 = lVar34 + 1;\n                  iVar32 = (int)lVar34;\n                  lVar34 = lVar34 + 1;\n                } while (((int)(char)pbVar15[lVar29] & 0xc0U) == 0x80);\n              }\n              iVar12 = iVar32 + 1;\n              if (uVar13 == 1) break;\n              uVar13 = uVar13 - 1;\n              bVar39 = pbVar15[iVar12];\n            } while (bVar39 != 0);\n            bVar43 = local_e0 != (byte *)0x0;\n            iVar31 = iVar32 + 4 + iVar31;\n            bVar42 = bVar43 && eVar37 == '\n';\n            if (iVar31 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar41 = (byte *)buf;\n            }\n            else {\n              pbVar41 = (byte *)printfTempBuf(pAccum,(long)iVar31);\n              local_e0 = pbVar41;\n              if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar42) {\n              *pbVar41 = bVar10;\n            }\n            lVar34 = 0;\n            uVar13 = (uint)bVar42;\n            do {\n              while( true ) {\n                bVar39 = pbVar15[lVar34];\n                uVar22 = uVar13 + 1;\n                pbVar41[(int)uVar13] = bVar39;\n                pbVar20 = pbVar41 + (int)uVar22;\n                if (bVar10 != bVar39) break;\n                uVar22 = uVar13 + 2;\n                *pbVar20 = bVar10;\n                lVar34 = lVar34 + 1;\n                pbVar20 = pbVar41 + (int)uVar22;\n                uVar13 = uVar22;\n                if (iVar12 <= (int)lVar34) goto LAB_0013f9fa;\n              }\n              lVar34 = lVar34 + 1;\n              uVar13 = uVar22;\n            } while ((int)lVar34 < iVar12);\nLAB_0013f9fa:\n            if (bVar43 && eVar37 == '\n') {\n              uVar22 = uVar22 + 1;\n              lVar34 = (long)(int)uVar22;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar20 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar36) && (bVar27 != 0)) && (iVar12 = uVar22 - 1, -1 < iVar12)) {\nLAB_0013efc6:\n          lVar34 = (long)iVar12;\n          do {\n            pbVar15 = pbVar41 + lVar34;\n            lVar34 = lVar34 + -1;\n            uVar36 = (int)pbVar26 + (uint)(((int)(char)*pbVar15 & 0xc0U) == 0x80);\n            pbVar26 = (byte *)(ulong)uVar36;\n          } while (-1 < (int)lVar34);\n        }\nLAB_0013eff2:\n        uVar36 = uVar36 - uVar22;\n        goto LAB_0013f018;\n      case '\v':\n        if ((pAccum->printfFlags & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          plVar17 = (long *)((ulong)uVar13 + (long)ap->reg_save_area);\n          ap->gp_offset = uVar13 + 8;\n        }\n        else {\n          plVar17 = (long *)ap->overflow_arg_area;\n          ap->overflow_arg_area = plVar17 + 1;\n        }\n        puVar28 = (undefined8 *)*plVar17;\n        if ((puVar28 == (undefined8 *)0x0) || (*(int *)(puVar28 + 1) == 0)) goto LAB_0013f287;\n        sqlite3_str_append(pAccum,(char *)*puVar28,*(int *)(puVar28 + 1));\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        break;\n      case '\f':\n        if ((pAccum->printfFlags & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          uVar36 = uVar13 + 8;\n          ap->gp_offset = uVar36;\n          lVar34 = *(long *)((long)ap->reg_save_area + (ulong)uVar13);\n          if (0x2f < uVar36) {\n            plVar17 = (long *)ap->overflow_arg_area;\n            goto LAB_0013f46b;\n          }\n          plVar17 = (long *)((long)ap->reg_save_area + (ulong)uVar36);\n          ap->gp_offset = uVar13 + 0x10;\n        }\n        else {\n          plVar4 = (long *)ap->overflow_arg_area;\n          plVar17 = plVar4 + 1;\n          ap->overflow_arg_area = plVar17;\n          lVar34 = *plVar4;\nLAB_0013f46b:\n          ap->overflow_arg_area = plVar17 + 1;\n        }\n        lVar29 = *plVar17;\n        z = *(char **)(lVar34 + 0x10 + (long)(int)lVar29 * 0x70);\n        if (z != (char *)0x0) {\n          sqlite3_str_appendall(pAccum,z);\n          sqlite3_str_append(pAccum,".",1);\n        }\n        sqlite3_str_appendall(pAccum,*(char **)(lVar34 + 0x18 + (long)(int)lVar29 * 0x70));\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        break;\n      case '\r':\n        bVar40 = fmtinfo[iVar31].flags & 1;\n        if ((fmtinfo[iVar31].flags & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar22 = ap->gp_offset;\n          bVar40 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar40 = 0;\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }" switch (parenthesized_expression "(eVar37)" ( identifier )) (compound_statement "{\n      case '\0':\n      case '\x0f':\n        bVar40 = 0;\n      case '\x10':\n        if ((fmtinfo[iVar31].flags & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar18 = (ulong)*puVar33;\n              bVar10 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              bVar10 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar18 = getIntArg(local_d8);\n            bVar10 = 0;\n          }\nLAB_0013f51d:\n          if (uVar18 == 0) {\n            bVar39 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                piVar24 = (int *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                piVar24 = (int *)ap->overflow_arg_area;\n                ap->overflow_arg_area = piVar24 + 2;\n              }\n              uVar18 = (ulong)*piVar24;\n              if ((long)uVar18 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              if ((long)uVar18 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar18 = getIntArg(local_d8);\n          if (-1 < (long)uVar18) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar18 == 0x8000000000000000) {\n            bVar10 = 0x2d;\n            uVar18 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar18 = -uVar18;\n            bVar10 = 0x2d;\n          }\n        }\n        if ((bVar42) && (uVar22 = uVar36 - (bVar10 != 0), (int)uVar13 < (int)uVar22)) {\n          uVar13 = uVar22;\n        }\n        if ((int)uVar13 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar15 = (byte *)(buf + 0x45);\n        }\n        else {\n          sVar19 = (long)(int)uVar13 + 10;\n          if (bVar40 != 0) {\n            sVar19 = sVar19 + (int)uVar13 / 3;\n          }\n          local_e0 = (byte *)printfTempBuf(pAccum,sVar19);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar15 = local_e0 + (long)(int)sVar19 + -1;\n        }\n        pbVar26 = pbVar15;\n        if (eVar37 == '\x0f') {\n          if ((uVar18 % 10 < 4) && ((uVar18 / 10) % 10 != 1)) {\n            iVar12 = (int)(uVar18 % 10) * 2;\n            bVar27 = "thstndrd"[iVar12 + 1];\n            bVar11 = "thstndrd"[iVar12];\n          }\n          else {\n            bVar11 = 0x74;\n            bVar27 = 0x68;\n          }\n          pbVar15[-1] = bVar27;\n          pbVar26 = pbVar15 + -2;\n          pbVar15[-2] = bVar11;\n        }\n        bVar27 = fmtinfo[iVar31].charset;\n        uVar35 = (ulong)fmtinfo[iVar31].base;\n        do {\n          pbVar26 = pbVar26 + -1;\n          *pbVar26 = "0123456789ABCDEF0123456789abcdef"[uVar18 % uVar35 + (ulong)bVar27];\n          bVar42 = uVar35 <= uVar18;\n          uVar18 = uVar18 / uVar35;\n        } while (bVar42);\n        uVar22 = (int)pbVar15 - (int)pbVar26;\n        pbVar41 = pbVar26;\n        if ((int)uVar22 < (int)uVar13) {\n          pbVar41 = pbVar26 + ~(ulong)((uVar13 - 1) - uVar22);\n          do {\n            pbVar26 = pbVar26 + -1;\n            *pbVar26 = 0x30;\n            uVar22 = uVar13;\n          } while (pbVar26 != pbVar41);\n        }\n        if (bVar40 != 0) {\n          iVar32 = (int)(uVar22 - 1) / 3;\n          iVar12 = (int)(uVar22 - 1) % 3 + 1;\n          pbVar41 = pbVar41 + -(long)iVar32;\n          if (iVar32 != 0) {\n            iVar8 = 0;\n            while( true ) {\n              do {\n                iVar23 = iVar8;\n                pbVar41[iVar23] = pbVar41[iVar32 + iVar23];\n                iVar12 = iVar12 + -1;\n                iVar8 = iVar23 + 1;\n              } while (iVar12 != 0);\n              pbVar41[iVar23 + 1] = bVar40;\n              iVar32 = iVar32 + -1;\n              if (iVar32 == 0) break;\n              iVar12 = 3;\n              iVar8 = iVar23 + 2;\n            }\n          }\n        }\n        if (bVar10 != 0) {\n          pbVar41[-1] = bVar10;\n          pbVar41 = pbVar41 + -1;\n        }\n        if ((bVar39 != 0) && (bVar10 = fmtinfo[iVar31].prefix, bVar10 != 0)) {\n          pbVar26 = (byte *)("-x0" + bVar10);\n          bVar10 = "-x0"[bVar10];\n          while (bVar10 != 0) {\n            pbVar41 = pbVar41 + -1;\n            pbVar26 = pbVar26 + 1;\n            *pbVar41 = bVar10;\n            bVar10 = *pbVar26;\n          }\n        }\n        uVar22 = (int)pbVar15 - (int)pbVar41;\n        uVar36 = uVar36 - uVar22;\nLAB_0013f018:\n        if ((int)uVar36 < 1) {\nLAB_0013fd63:\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }\n        else if (bVar7) {\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n        }\n        else {\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }\n        if (local_e0 != (byte *)0x0) {\n          sqlite3DbFreeNN(pAccum->db,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar22 = ap->fp_offset;\n          if (uVar22 < 0xb0) {\n            ap->fp_offset = uVar22 + 0x10;\n            dVar44 = *(double *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            pdVar3 = (double *)ap->overflow_arg_area;\n            ap->overflow_arg_area = pdVar3 + 1;\n            dVar44 = *pdVar3;\n          }\n          if (uVar13 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar43 = 0 < (int)uVar13;\n        }\n        else {\n          iVar12 = local_d8->nUsed;\n          if (iVar12 < local_d8->nArg) {\n            local_d8->nUsed = iVar12 + 1;\n            dVar44 = sqlite3_value_double(local_d8->apArg[iVar12]);\n          }\n          else {\n            dVar44 = 0.0;\n          }\n          if (uVar13 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar43 = true;\n          uVar13 = 6;\n        }\n        if (dVar44 < 0.0) {\n          dVar44 = -dVar44;\n          bVar10 = 0x2d;\n        }\n        dVar45 = DAT_001fae78;\n        if ((eVar37 != '\x03') || (!bVar43)) {\n          uVar22 = uVar13 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar13 = uVar13 - 1;\n        uVar22 = uVar13 & 0xfff;\n        if (uVar22 != 0) {\n          do {\n            dVar45 = dVar45 * DAT_001faf40;\n            uVar22 = uVar22 - 1;\njoined_r0x0013ec49:\n          } while (uVar22 != 0);\n          if (eVar37 == '\x01') {\n            dVar44 = dVar45 + dVar44;\n          }\n        }\n        if (NAN(dVar44)) {\n          uVar36 = uVar36 - 3;\n          uVar22 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar41 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar18 = 0;\n        if (0.0 < dVar44) {\n          dVar5 = _DAT_001faf38;\n          if (dVar44 < _DAT_001faf38) {\n            dVar5 = (double)_DAT_001fae18;\n            bVar43 = true;\n            dVar6 = 1.0;\n          }\n          else {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 100;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = _DAT_001faf38 * dVar6;\n            } while (_DAT_001faf38 * dVar6 <= dVar44 && (int)uVar22 < 0x15f);\n            dVar5 = dVar6 * (double)_DAT_001fae18;\n          }\n          if ((dVar5 <= dVar44) && (bVar43)) {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 10;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = dVar6 * (double)_DAT_001fae18;\n            } while (dVar6 * (double)_DAT_001fae18 <= dVar44 && bVar43);\n          }\n          dVar5 = (double)_DAT_001fae10;\n          if ((dVar6 * dVar5 <= dVar44) && (dVar9 = dVar6 * dVar5, bVar43)) {\n            do {\n              dVar6 = dVar9;\n              uVar22 = (int)uVar18 + 1;\n              uVar18 = (ulong)uVar22;\n              dVar9 = dVar6 * dVar5;\n            } while ((int)uVar22 < 0x15f && dVar6 * dVar5 <= dVar44);\n          }\n          for (dVar44 = dVar44 / dVar6; dVar44 < _DAT_001faf48;\n              dVar44 = dVar44 * (double)_DAT_001fae1c) {\n            uVar18 = (ulong)((int)uVar18 - 8);\n          }\n          for (; dVar44 < 1.0; dVar44 = dVar44 * dVar5) {\n            uVar18 = (ulong)((int)uVar18 - 1);\n          }\n          if (0x15e < (int)uVar18) {\n            pbVar41 = (byte *)buf;\n            pbVar15 = pbVar41 + (bVar10 != 0);\n            buf[0] = bVar10;\n            pbVar15[0] = 0x49;\n            pbVar15[1] = 0x6e;\n            pbVar15[2] = 0x66;\n            pbVar15[3] = 0;\n            if (bVar10 == 0) {\n              uVar36 = uVar36 - 3;\n              uVar22 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              uVar36 = uVar36 - 4;\n              uVar22 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar18;\n        local_b5 = bVar27;\n        if (eVar37 == '\x01') {\n          iVar12 = 0;\n          if (-1 < local_c8) {\n            iVar12 = local_c8;\n          }\n          lVar34 = (long)iVar12;\n        }\n        else {\n          dVar44 = dVar45 + dVar44;\n          if ((double)_DAT_001fae10 <= dVar44) {\n            dVar44 = dVar44 * DAT_001faf40;\n            uVar18 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar18;\n          if (eVar37 == '\x03') {\n            local_b5 = bVar39 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar13 < local_c8)) {\n              lVar34 = 0;\n              eVar37 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar13 = uVar13 - local_c8;\n              iVar12 = 0;\n              if (-1 < local_c8) {\n                iVar12 = local_c8;\n              }\n              eVar37 = '\x01';\n              lVar34 = (long)iVar12;\n            }\n          }\n          else if (eVar37 == '\x02') {\n            lVar34 = 0;\n            local_c8 = 0;\n          }\n          else {\n            eVar37 = '\x01';\n            iVar12 = 0;\n            if (-1 < local_c8) {\n              iVar12 = local_c8;\n            }\n            lVar34 = (long)iVar12;\n          }\n        }\n        lVar29 = (long)(int)uVar36;\n        lVar34 = lVar34 + (int)uVar13 + 0xf + lVar29;\n        if (lVar34 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar41 = (byte *)buf;\n        }\n        else {\n          pbVar41 = (byte *)printfTempBuf(pAccum,lVar34);\n          local_e0 = pbVar41;\n          if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar12 = (uint)bVar27 * 10 + 0x10;\n        bVar43 = 0 < (int)uVar13;\n        pbVar26 = pbVar41;\n        pbVar15 = pbVar41 + 1;\n        if (bVar10 != 0) {\n          *pbVar41 = bVar10;\n          pbVar15 = pbVar41 + 2;\n          pbVar26 = pbVar41 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar26 = 0x30;\n          uVar22 = local_c8 + 1;\n          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar26 = pbVar15 + 1;\n            *pbVar15 = 0x2e;\n            pbVar15 = pbVar26;\n            if (uVar22 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar26 = pbVar15;\n            do {\n              pbVar20 = pbVar26 + 1;\n              *pbVar26 = 0x30;\n              pbVar26 = pbVar20;\n            } while (pbVar20 != pbVar15 + (ulong)~uVar22 + 1);\n            uVar13 = (uVar13 - 1) + local_c8 + 2;\n            pbVar15 = pbVar15 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar13) {\n              pbVar26 = pbVar15;\n              do {\n                while (pbVar20 = pbVar26 + 1, 0 < iVar12) {\n                  iVar12 = iVar12 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar44);\n                  *pbVar26 = (char)local_c8 + 0x30;\n                  dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n                  pbVar26 = pbVar20;\n                  if (pbVar20 == pbVar15 + (ulong)(uVar13 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar26 = 0x30;\n                pbVar26 = pbVar20;\n              } while (pbVar20 != pbVar15 + (ulong)(uVar13 - 1) + 1);\nLAB_0013ee39:\n              pbVar15 = pbVar15 + (ulong)(uVar13 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar22 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar15 = pbVar26 + (long)local_c8 + 1;\n          do {\n            while (pbVar20 = pbVar26, pbVar26 = pbVar20 + 1, 0 < iVar12) {\n              iVar12 = iVar12 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar44);\n              *pbVar20 = (char)local_c8 + 0x30;\n              dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n              if (pbVar26 == pbVar15) goto LAB_0013fe8d;\n            }\n            *pbVar20 = 0x30;\n          } while (pbVar26 != pbVar15);\nLAB_0013fe8d:\n          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar15 = pbVar20 + 2;\n            *pbVar26 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar43 || (bVar39 != 0 || bVar27 != 0))) {\n            while (pbVar15[-1] == 0x30) {\n              pbVar15 = pbVar15 + -1;\n              *pbVar15 = 0;\n            }\n            if (pbVar15[-1] == 0x2e) {\n              if (bVar27 == 0) {\n                pbVar15[-1] = 0;\n                pbVar15 = pbVar15 + -1;\n              }\n              else {\n                *pbVar15 = 0x30;\n                pbVar15 = pbVar15 + 1;\n              }\n            }\n          }\n        }\n        if (eVar37 == '\x02') {\n          pbVar26 = pbVar15 + 2;\n          *pbVar15 = "0123456789ABCDEF0123456789abcdef"[fmtinfo[iVar31].charset];\n          bVar27 = 0x2b;\n          if ((int)uVar18 < 0) {\n            uVar18 = (ulong)(uint)-(int)uVar18;\n            bVar27 = 0x2d;\n          }\n          pbVar15[1] = bVar27;\n          if (99 < (int)uVar18) {\n            pbVar26 = pbVar15 + 3;\n            pbVar15[2] = (char)(uVar18 / 100) + 0x30;\n            uVar18 = (ulong)(uint)((int)uVar18 + (int)(uVar18 / 100) * -100);\n          }\n          pbVar15 = pbVar26 + 2;\n          cVar21 = (char)(uVar18 / 10);\n          *pbVar26 = cVar21 + 0x30;\n          pbVar26[1] = (char)uVar18 + cVar21 * -10 + 0x30;\n        }\n        *pbVar15 = 0;\n        uVar22 = (int)pbVar15 - (int)pbVar41;\n        if (!(bool)(bVar42 & (bVar7 ^ 1U))) {\n          uVar36 = uVar36 - uVar22;\n          goto LAB_0013f018;\n        }\n        if ((int)uVar22 < (int)uVar36) {\n          iVar12 = uVar36 - uVar22;\n          if (iVar12 <= (int)uVar36) {\n            do {\n              pbVar41[lVar29] = pbVar41[lVar29 - iVar12];\n              lVar29 = lVar29 + -1;\n            } while (iVar12 <= (int)lVar29);\n          }\n          pbVar15 = pbVar41 + (bVar10 != 0);\n          do {\n            *pbVar15 = 0x30;\n            pbVar15 = pbVar15 + 1;\n            uVar22 = uVar36;\n          } while (pbVar41 + (ulong)(iVar12 - 1) + (ulong)(bVar10 != 0) + 1 != pbVar15);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          sqlite3_str_append(pAccum,(char *)pbVar41,0);\n          break;\n        }\n        uVar14 = pAccum->nChar;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          puVar28 = (undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area);\n          ap->gp_offset = uVar13 + 8;\n        }\n        else {\n          puVar28 = (undefined8 *)ap->overflow_arg_area;\n          ap->overflow_arg_area = puVar28 + 1;\n        }\n        *(u32 *)*puVar28 = uVar14;\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        bVar10 = pbVar30[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            ap->gp_offset = uVar22 + 8;\n            pbVar41 = *(byte **)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n            pbVar41 = (byte *)*puVar28;\n          }\n          if (pbVar41 == (byte *)0x0) goto LAB_0013fb9a;\n          if (eVar37 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar41;\n          if (((pAccum->nChar != 0) || (pAccum->mxAlloc == 0)) ||\n             ((uVar36 != 0 || (-1 < (int)uVar13)))) goto joined_r0x0013fbae;\n          if (pAccum->accError == '\0') {\n            pAccum->zText = (char *)pbVar41;\n            uVar14 = (*sqlite3Config.m.xSize)(pbVar41);\n            pAccum->nAlloc = uVar14;\n            sVar16 = strlen((char *)pbVar41);\n            pAccum->printfFlags = pAccum->printfFlags | 4;\n            pAccum->nChar = (uint)sVar16 & 0x7fffffff;\n            sqlite3_str_append(pAccum,(char *)pbVar41,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar16 = strlen((char *)pbVar41);\n          uVar22 = (uint)sVar16 & 0x7fffffff;\n          goto LAB_0013fa12;\n        }\n        pbVar41 = (byte *)getTextArg(local_d8);\n        if (pbVar41 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar41 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar13 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar15 = pbVar41;\n        if (bVar27 != 0) {\n          while ((pbVar20 = pbVar15, uVar13 = uVar13 - 1, uVar13 != 0xffffffff && (*pbVar20 != 0)))\n          {\n            pbVar15 = pbVar20 + 1;\n            if (0xbf < *pbVar20) {\n              bVar10 = pbVar20[1];\n              while ((bVar10 & 0xc0) == 0x80) {\n                pbVar15 = pbVar15 + 1;\n                bVar10 = *pbVar15;\n              }\n            }\n          }\n          uVar22 = (int)pbVar20 - (int)pbVar41;\n          bVar27 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar13 == 0) || (*pbVar41 == 0)) {\n          uVar22 = 0;\n          goto LAB_0013f018;\n        }\n        lVar34 = 1;\n        do {\n          uVar22 = (uint)lVar34;\n          if ((ulong)(uVar13 - 1) + 1 == lVar34) break;\n          pbVar15 = pbVar41 + lVar34;\n          lVar34 = lVar34 + 1;\n        } while (*pbVar15 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        buf[0] = '%';\n        uVar36 = uVar36 - 1;\n        pbVar41 = (byte *)buf;\n        uVar22 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            ap->gp_offset = uVar22 + 8;\n            uVar1 = *(uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            puVar33 = (uint *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar33 + 2;\n            uVar1 = *puVar33;\n          }\n          if (uVar1 < 0x80) {\n            buf[0] = (byte)uVar1;\n            uVar22 = 1;\n          }\n          else {\n            cVar21 = ((byte)uVar1 & 0x3f) + 0x80;\n            bVar10 = (byte)(uVar1 >> 6);\n            if (uVar1 < 0x800) {\n              buf[1] = cVar21;\n              uVar22 = 2;\n              buf[0] = bVar10 - 0x40;\n            }\n            else {\n              buf[2] = (bVar10 & 0x3f) + 0x80;\n              bVar10 = (byte)(uVar1 >> 0xc);\n              if (uVar1 < 0x10000) {\n                buf[1] = buf[2];\n                uVar22 = 3;\n                buf[0] = bVar10 - 0x20;\n                buf[2] = cVar21;\n              }\n              else {\n                uVar22 = 4;\n                buf[3] = cVar21;\n                buf[0] = ((byte)(uVar1 >> 0x12) & 7) - 0x10;\n                buf[1] = (bVar10 & 0x3f) + 0x80;\n              }\n            }\n          }\n        }\n        else {\n          pbVar41 = (byte *)getTextArg(local_d8);\n          if (pbVar41 == (byte *)0x0) {\n            buf[0] = '\0';\n          }\n          else {\n            buf[0] = *pbVar41;\n            if ((*pbVar41 & 0xc0) == 0xc0) {\n              lVar34 = 1;\n              do {\n                uVar22 = (uint)lVar34;\n                if ((pbVar41[lVar34] & 0xc0) != 0x80) goto joined_r0x0013fa79;\n                buf[lVar34] = pbVar41[lVar34];\n                lVar34 = lVar34 + 1;\n              } while (lVar34 != 4);\n              uVar22 = 4;\n              goto joined_r0x0013fa79;\n            }\n          }\n          uVar22 = 1;\n        }\njoined_r0x0013fa79:\n        if (1 < (int)uVar13) {\n          iVar12 = uVar13 - 1;\n          uVar36 = uVar36 - iVar12;\n          if (((int)uVar36 < 2) || (bVar7)) {\n            local_e0 = (byte *)(ulong)uVar36;\n          }\n          else {\n            sqlite3_str_appendchar(pAccum,uVar36 - 1,' ');\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            sqlite3_str_append(pAccum,buf,uVar22);\n            iVar12 = iVar12 + -1;\n          } while (iVar12 != 0);\n          pbVar26 = local_e0;\n          uVar36 = (uint)local_e0;\n        }\n        if (0 < (int)uVar36) {\n          pbVar41 = (byte *)buf;\n          local_e0 = (byte *)0x0;\n          iVar12 = uVar22 - 1;\n          goto LAB_0013efc6;\n        }\n        pbVar41 = (byte *)buf;\n        sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar10 = (eVar37 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            puVar28 = (undefined8 *)((ulong)uVar22 + (long)ap->reg_save_area);\n            ap->gp_offset = uVar22 + 8;\n          }\n          else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n          }\n          local_e0 = (byte *)*puVar28;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar13 != 0) && (bVar39 = *local_e0, pbVar15 = local_e0, bVar39 != 0))\n          goto LAB_0013f8fa;\n          if (eVar37 != '\n') {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar41 = pbVar20;\n            goto LAB_0013fa0c;\n          }\n          pbVar41 = (byte *)buf;\n          buf[0] = bVar10;\n          lVar34 = 2;\n          uVar22 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar20 = (byte *)(buf + 1);\nLAB_0013fa06:\n          *pbVar20 = bVar10;\n          pbVar20 = pbVar41 + lVar34;\n        }\n        else {\n          local_e0 = (byte *)getTextArg(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar15 = (byte *)0x1e846d;\n          if (eVar37 != '\n') {\n            pbVar15 = &DAT_001e9900;\n          }\n          if (uVar13 == 0) {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            pbVar41 = pbVar20;\n          }\n          else {\n            bVar39 = *pbVar15;\nLAB_0013f8fa:\n            iVar31 = 0;\n            iVar12 = 0;\n            do {\n              iVar32 = iVar12;\n              if (bVar10 == bVar39) {\n                iVar31 = iVar31 + 1;\n              }\n              else if (((bVar27 != 0) && ((bVar39 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U) == 0x80)) {\n                lVar34 = (long)(iVar12 + 1);\n                do {\n                  lVar29 = lVar34 + 1;\n                  iVar32 = (int)lVar34;\n                  lVar34 = lVar34 + 1;\n                } while (((int)(char)pbVar15[lVar29] & 0xc0U) == 0x80);\n              }\n              iVar12 = iVar32 + 1;\n              if (uVar13 == 1) break;\n              uVar13 = uVar13 - 1;\n              bVar39 = pbVar15[iVar12];\n            } while (bVar39 != 0);\n            bVar43 = local_e0 != (byte *)0x0;\n            iVar31 = iVar32 + 4 + iVar31;\n            bVar42 = bVar43 && eVar37 == '\n';\n            if (iVar31 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar41 = (byte *)buf;\n            }\n            else {\n              pbVar41 = (byte *)printfTempBuf(pAccum,(long)iVar31);\n              local_e0 = pbVar41;\n              if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar42) {\n              *pbVar41 = bVar10;\n            }\n            lVar34 = 0;\n            uVar13 = (uint)bVar42;\n            do {\n              while( true ) {\n                bVar39 = pbVar15[lVar34];\n                uVar22 = uVar13 + 1;\n                pbVar41[(int)uVar13] = bVar39;\n                pbVar20 = pbVar41 + (int)uVar22;\n                if (bVar10 != bVar39) break;\n                uVar22 = uVar13 + 2;\n                *pbVar20 = bVar10;\n                lVar34 = lVar34 + 1;\n                pbVar20 = pbVar41 + (int)uVar22;\n                uVar13 = uVar22;\n                if (iVar12 <= (int)lVar34) goto LAB_0013f9fa;\n              }\n              lVar34 = lVar34 + 1;\n              uVar13 = uVar22;\n            } while ((int)lVar34 < iVar12);\nLAB_0013f9fa:\n            if (bVar43 && eVar37 == '\n') {\n              uVar22 = uVar22 + 1;\n              lVar34 = (long)(int)uVar22;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar20 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar36) && (bVar27 != 0)) && (iVar12 = uVar22 - 1, -1 < iVar12)) {\nLAB_0013efc6:\n          lVar34 = (long)iVar12;\n          do {\n            pbVar15 = pbVar41 + lVar34;\n            lVar34 = lVar34 + -1;\n            uVar36 = (int)pbVar26 + (uint)(((int)(char)*pbVar15 & 0xc0U) == 0x80);\n            pbVar26 = (byte *)(ulong)uVar36;\n          } while (-1 < (int)lVar34);\n        }\nLAB_0013eff2:\n        uVar36 = uVar36 - uVar22;\n        goto LAB_0013f018;\n      case '\v':\n        if ((pAccum->printfFlags & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          plVar17 = (long *)((ulong)uVar13 + (long)ap->reg_save_area);\n          ap->gp_offset = uVar13 + 8;\n        }\n        else {\n          plVar17 = (long *)ap->overflow_arg_area;\n          ap->overflow_arg_area = plVar17 + 1;\n        }\n        puVar28 = (undefined8 *)*plVar17;\n        if ((puVar28 == (undefined8 *)0x0) || (*(int *)(puVar28 + 1) == 0)) goto LAB_0013f287;\n        sqlite3_str_append(pAccum,(char *)*puVar28,*(int *)(puVar28 + 1));\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        break;\n      case '\f':\n        if ((pAccum->printfFlags & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          uVar36 = uVar13 + 8;\n          ap->gp_offset = uVar36;\n          lVar34 = *(long *)((long)ap->reg_save_area + (ulong)uVar13);\n          if (0x2f < uVar36) {\n            plVar17 = (long *)ap->overflow_arg_area;\n            goto LAB_0013f46b;\n          }\n          plVar17 = (long *)((long)ap->reg_save_area + (ulong)uVar36);\n          ap->gp_offset = uVar13 + 0x10;\n        }\n        else {\n          plVar4 = (long *)ap->overflow_arg_area;\n          plVar17 = plVar4 + 1;\n          ap->overflow_arg_area = plVar17;\n          lVar34 = *plVar4;\nLAB_0013f46b:\n          ap->overflow_arg_area = plVar17 + 1;\n        }\n        lVar29 = *plVar17;\n        z = *(char **)(lVar34 + 0x10 + (long)(int)lVar29 * 0x70);\n        if (z != (char *)0x0) {\n          sqlite3_str_appendall(pAccum,z);\n          sqlite3_str_append(pAccum,".",1);\n        }\n        sqlite3_str_appendall(pAccum,*(char **)(lVar34 + 0x18 + (long)(int)lVar29 * 0x70));\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        break;\n      case '\r':\n        bVar40 = fmtinfo[iVar31].flags & 1;\n        if ((fmtinfo[iVar31].flags & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar22 = ap->gp_offset;\n          bVar40 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar40 = 0;\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }" { (case_statement "case '\0':" case (char_literal "'\0'" ' escape_sequence ') :) (case_statement "case '\x0f':\n        bVar40 = 0;" case (char_literal "'\x0f'" ' escape_sequence ') : (expression_statement "bVar40 = 0;" (assignment_expression "bVar40 = 0" identifier = number_literal) ;)) (case_statement "case '\x10':\n        if ((fmtinfo[iVar31].flags & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar18 = (ulong)*puVar33;\n              bVar10 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              bVar10 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar18 = getIntArg(local_d8);\n            bVar10 = 0;\n          }\nLAB_0013f51d:\n          if (uVar18 == 0) {\n            bVar39 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                piVar24 = (int *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                piVar24 = (int *)ap->overflow_arg_area;\n                ap->overflow_arg_area = piVar24 + 2;\n              }\n              uVar18 = (ulong)*piVar24;\n              if ((long)uVar18 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              if ((long)uVar18 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar18 = getIntArg(local_d8);\n          if (-1 < (long)uVar18) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar18 == 0x8000000000000000) {\n            bVar10 = 0x2d;\n            uVar18 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar18 = -uVar18;\n            bVar10 = 0x2d;\n          }\n        }\n        if ((bVar42) && (uVar22 = uVar36 - (bVar10 != 0), (int)uVar13 < (int)uVar22)) {\n          uVar13 = uVar22;\n        }\n        if ((int)uVar13 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar15 = (byte *)(buf + 0x45);\n        }\n        else {\n          sVar19 = (long)(int)uVar13 + 10;\n          if (bVar40 != 0) {\n            sVar19 = sVar19 + (int)uVar13 / 3;\n          }\n          local_e0 = (byte *)printfTempBuf(pAccum,sVar19);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar15 = local_e0 + (long)(int)sVar19 + -1;\n        }\n        pbVar26 = pbVar15;\n        if (eVar37 == '\x0f') {\n          if ((uVar18 % 10 < 4) && ((uVar18 / 10) % 10 != 1)) {\n            iVar12 = (int)(uVar18 % 10) * 2;\n            bVar27 = "thstndrd"[iVar12 + 1];\n            bVar11 = "thstndrd"[iVar12];\n          }\n          else {\n            bVar11 = 0x74;\n            bVar27 = 0x68;\n          }\n          pbVar15[-1] = bVar27;\n          pbVar26 = pbVar15 + -2;\n          pbVar15[-2] = bVar11;\n        }\n        bVar27 = fmtinfo[iVar31].charset;\n        uVar35 = (ulong)fmtinfo[iVar31].base;\n        do {\n          pbVar26 = pbVar26 + -1;\n          *pbVar26 = "0123456789ABCDEF0123456789abcdef"[uVar18 % uVar35 + (ulong)bVar27];\n          bVar42 = uVar35 <= uVar18;\n          uVar18 = uVar18 / uVar35;\n        } while (bVar42);\n        uVar22 = (int)pbVar15 - (int)pbVar26;\n        pbVar41 = pbVar26;\n        if ((int)uVar22 < (int)uVar13) {\n          pbVar41 = pbVar26 + ~(ulong)((uVar13 - 1) - uVar22);\n          do {\n            pbVar26 = pbVar26 + -1;\n            *pbVar26 = 0x30;\n            uVar22 = uVar13;\n          } while (pbVar26 != pbVar41);\n        }\n        if (bVar40 != 0) {\n          iVar32 = (int)(uVar22 - 1) / 3;\n          iVar12 = (int)(uVar22 - 1) % 3 + 1;\n          pbVar41 = pbVar41 + -(long)iVar32;\n          if (iVar32 != 0) {\n            iVar8 = 0;\n            while( true ) {\n              do {\n                iVar23 = iVar8;\n                pbVar41[iVar23] = pbVar41[iVar32 + iVar23];\n                iVar12 = iVar12 + -1;\n                iVar8 = iVar23 + 1;\n              } while (iVar12 != 0);\n              pbVar41[iVar23 + 1] = bVar40;\n              iVar32 = iVar32 + -1;\n              if (iVar32 == 0) break;\n              iVar12 = 3;\n              iVar8 = iVar23 + 2;\n            }\n          }\n        }\n        if (bVar10 != 0) {\n          pbVar41[-1] = bVar10;\n          pbVar41 = pbVar41 + -1;\n        }\n        if ((bVar39 != 0) && (bVar10 = fmtinfo[iVar31].prefix, bVar10 != 0)) {\n          pbVar26 = (byte *)("-x0" + bVar10);\n          bVar10 = "-x0"[bVar10];\n          while (bVar10 != 0) {\n            pbVar41 = pbVar41 + -1;\n            pbVar26 = pbVar26 + 1;\n            *pbVar41 = bVar10;\n            bVar10 = *pbVar26;\n          }\n        }\n        uVar22 = (int)pbVar15 - (int)pbVar41;\n        uVar36 = uVar36 - uVar22;\nLAB_0013f018:\n        if ((int)uVar36 < 1) {\nLAB_0013fd63:\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }\n        else if (bVar7) {\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n        }\n        else {\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }\n        if (local_e0 != (byte *)0x0) {\n          sqlite3DbFreeNN(pAccum->db,local_e0);\n        }\n        break;" case (char_literal "'\x10'" ' escape_sequence ') : (if_statement "if ((fmtinfo[iVar31].flags & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar18 = (ulong)*puVar33;\n              bVar10 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              bVar10 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar18 = getIntArg(local_d8);\n            bVar10 = 0;\n          }\nLAB_0013f51d:\n          if (uVar18 == 0) {\n            bVar39 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                piVar24 = (int *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                piVar24 = (int *)ap->overflow_arg_area;\n                ap->overflow_arg_area = piVar24 + 2;\n              }\n              uVar18 = (ulong)*piVar24;\n              if ((long)uVar18 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              if ((long)uVar18 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar18 = getIntArg(local_d8);\n          if (-1 < (long)uVar18) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar18 == 0x8000000000000000) {\n            bVar10 = 0x2d;\n            uVar18 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar18 = -uVar18;\n            bVar10 = 0x2d;\n          }\n        }" if (parenthesized_expression "((fmtinfo[iVar31].flags & 1) == 0)" ( (binary_expression "(fmtinfo[iVar31].flags & 1) == 0" (parenthesized_expression "(fmtinfo[iVar31].flags & 1)" ( (binary_expression "fmtinfo[iVar31].flags & 1" (field_expression "fmtinfo[iVar31].flags" (subscript_expression "fmtinfo[iVar31]" identifier [ identifier ]) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar18 = (ulong)*puVar33;\n              bVar10 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              bVar10 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar18 = getIntArg(local_d8);\n            bVar10 = 0;\n          }\nLAB_0013f51d:\n          if (uVar18 == 0) {\n            bVar39 = 0;\n          }\n        }" { (if_statement "if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar18 = (ulong)*puVar33;\n              bVar10 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              bVar10 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar18 = getIntArg(local_d8);\n            bVar10 = 0;\n          }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar18 = (ulong)*puVar33;\n              bVar10 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              bVar10 = 0;\n            }\n          }" { (expression_statement "uVar22 = ap->gp_offset;" (assignment_expression "uVar22 = ap->gp_offset" identifier = (field_expression "ap->gp_offset" identifier -> field_identifier)) ;) (if_statement "if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar18 = (ulong)*puVar33;\n              bVar10 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              bVar10 = 0;\n            }" if (parenthesized_expression "(cVar21 == '\0')" ( (binary_expression "cVar21 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              if (uVar22 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }\n              uVar18 = (ulong)*puVar33;\n              bVar10 = 0;\n            }" { (if_statement "if (uVar22 < 0x30) {\n                puVar33 = (uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }" if (parenthesized_expression "(uVar22 < 0x30)" ( (binary_expression "uVar22 < 0x30" identifier < number_literal) )) (compound_statement "{\n                puVar33 = (uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }" { (expression_statement "puVar33 = (uint *)((ulong)uVar22 + (long)ap->reg_save_area);" (assignment_expression "puVar33 = (uint *)((ulong)uVar22 + (long)ap->reg_save_area)" identifier = (cast_expression "(uint *)((ulong)uVar22 + (long)ap->reg_save_area)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar22 + (long)ap->reg_save_area)" ( (binary_expression "(ulong)uVar22 + (long)ap->reg_save_area" (cast_expression "(ulong)uVar22" ( (type_descriptor "ulong" type_identifier) ) identifier) + (cast_expression "(long)ap->reg_save_area" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "ap->reg_save_area" identifier -> field_identifier))) )))) ;) (expression_statement "ap->gp_offset = uVar22 + 8;" (assignment_expression "ap->gp_offset = uVar22 + 8" (field_expression "ap->gp_offset" identifier -> field_identifier) = (binary_expression "uVar22 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }" else (compound_statement "{\n                puVar33 = (uint *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar33 + 2;\n              }" { (expression_statement "puVar33 = (uint *)ap->overflow_arg_area;" (assignment_expression "puVar33 = (uint *)ap->overflow_arg_area" identifier = (cast_expression "(uint *)ap->overflow_arg_area" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "ap->overflow_arg_area" identifier -> field_identifier))) ;) (expression_statement "ap->overflow_arg_area = puVar33 + 2;" (assignment_expression "ap->overflow_arg_area = puVar33 + 2" (field_expression "ap->overflow_arg_area" identifier -> field_identifier) = (binary_expression "puVar33 + 2" identifier + number_literal)) ;) }))) (expression_statement "uVar18 = (ulong)*puVar33;" (assignment_expression "uVar18 = (ulong)*puVar33" identifier = (binary_expression "(ulong)*puVar33" (parenthesized_expression "(ulong)" ( identifier )) * identifier)) ;) (expression_statement "bVar10 = 0;" (assignment_expression "bVar10 = 0" identifier = number_literal) ;) }) (else_clause "else {\nLAB_0013f48c:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              bVar10 = 0;\n            }" else (compound_statement "{\nLAB_0013f48c:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              bVar10 = 0;\n            }" { (labeled_statement "LAB_0013f48c:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }" statement_identifier : (if_statement "if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }" if (parenthesized_expression "(uVar22 < 0x30)" ( (binary_expression "uVar22 < 0x30" identifier < number_literal) )) (compound_statement "{\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }" { (expression_statement "puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);" (assignment_expression "puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area)" identifier = (cast_expression "(ulong *)((ulong)uVar22 + (long)ap->reg_save_area)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar22 + (long)ap->reg_save_area)" ( (binary_expression "(ulong)uVar22 + (long)ap->reg_save_area" (cast_expression "(ulong)uVar22" ( (type_descriptor "ulong" type_identifier) ) identifier) + (cast_expression "(long)ap->reg_save_area" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "ap->reg_save_area" identifier -> field_identifier))) )))) ;) (expression_statement "ap->gp_offset = uVar22 + 8;" (assignment_expression "ap->gp_offset = uVar22 + 8" (field_expression "ap->gp_offset" identifier -> field_identifier) = (binary_expression "uVar22 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }" else (compound_statement "{\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }" { (expression_statement "puVar25 = (ulong *)ap->overflow_arg_area;" (assignment_expression "puVar25 = (ulong *)ap->overflow_arg_area" identifier = (cast_expression "(ulong *)ap->overflow_arg_area" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "ap->overflow_arg_area" identifier -> field_identifier))) ;) (expression_statement "ap->overflow_arg_area = puVar25 + 1;" (assignment_expression "ap->overflow_arg_area = puVar25 + 1" (field_expression "ap->overflow_arg_area" identifier -> field_identifier) = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) })))) (expression_statement "uVar18 = *puVar25;" (assignment_expression "uVar18 = *puVar25" identifier = (pointer_expression "*puVar25" * identifier)) ;) (expression_statement "bVar10 = 0;" (assignment_expression "bVar10 = 0" identifier = number_literal) ;) }))) }) (else_clause "else {\nLAB_0013f695:\n            uVar18 = getIntArg(local_d8);\n            bVar10 = 0;\n          }" else (compound_statement "{\nLAB_0013f695:\n            uVar18 = getIntArg(local_d8);\n            bVar10 = 0;\n          }" { (labeled_statement "LAB_0013f695:\n            uVar18 = getIntArg(local_d8);" statement_identifier : (expression_statement "uVar18 = getIntArg(local_d8);" (assignment_expression "uVar18 = getIntArg(local_d8)" identifier = (call_expression "getIntArg(local_d8)" identifier (argument_list "(local_d8)" ( identifier )))) ;)) (expression_statement "bVar10 = 0;" (assignment_expression "bVar10 = 0" identifier = number_literal) ;) }))) (labeled_statement "LAB_0013f51d:\n          if (uVar18 == 0) {\n            bVar39 = 0;\n          }" statement_identifier : (if_statement "if (uVar18 == 0) {\n            bVar39 = 0;\n          }" if (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) (compound_statement "{\n            bVar39 = 0;\n          }" { (expression_statement "bVar39 = 0;" (assignment_expression "bVar39 = 0" identifier = number_literal) ;) }))) }) (else_clause "else {\n          if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                piVar24 = (int *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                piVar24 = (int *)ap->overflow_arg_area;\n                ap->overflow_arg_area = piVar24 + 2;\n              }\n              uVar18 = (ulong)*piVar24;\n              if ((long)uVar18 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              if ((long)uVar18 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar18 = getIntArg(local_d8);\n          if (-1 < (long)uVar18) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar18 == 0x8000000000000000) {\n            bVar10 = 0x2d;\n            uVar18 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar18 = -uVar18;\n            bVar10 = 0x2d;\n          }\n        }" else (compound_statement "{\n          if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                piVar24 = (int *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                piVar24 = (int *)ap->overflow_arg_area;\n                ap->overflow_arg_area = piVar24 + 2;\n              }\n              uVar18 = (ulong)*piVar24;\n              if ((long)uVar18 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              if ((long)uVar18 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar18 = getIntArg(local_d8);\n          if (-1 < (long)uVar18) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar18 == 0x8000000000000000) {\n            bVar10 = 0x2d;\n            uVar18 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar18 = -uVar18;\n            bVar10 = 0x2d;\n          }\n        }" { (if_statement "if (local_b6 == 0) {\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                piVar24 = (int *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                piVar24 = (int *)ap->overflow_arg_area;\n                ap->overflow_arg_area = piVar24 + 2;\n              }\n              uVar18 = (ulong)*piVar24;\n              if ((long)uVar18 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              if ((long)uVar18 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar22 = ap->gp_offset;\n            if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                piVar24 = (int *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                piVar24 = (int *)ap->overflow_arg_area;\n                ap->overflow_arg_area = piVar24 + 2;\n              }\n              uVar18 = (ulong)*piVar24;\n              if ((long)uVar18 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              if ((long)uVar18 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }" { (expression_statement "uVar22 = ap->gp_offset;" (assignment_expression "uVar22 = ap->gp_offset" identifier = (field_expression "ap->gp_offset" identifier -> field_identifier)) ;) (if_statement "if (cVar21 == '\0') {\n              if (uVar22 < 0x30) {\n                piVar24 = (int *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                piVar24 = (int *)ap->overflow_arg_area;\n                ap->overflow_arg_area = piVar24 + 2;\n              }\n              uVar18 = (ulong)*piVar24;\n              if ((long)uVar18 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              if ((long)uVar18 < 0) goto LAB_0013f180;\n            }" if (parenthesized_expression "(cVar21 == '\0')" ( (binary_expression "cVar21 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              if (uVar22 < 0x30) {\n                piVar24 = (int *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                piVar24 = (int *)ap->overflow_arg_area;\n                ap->overflow_arg_area = piVar24 + 2;\n              }\n              uVar18 = (ulong)*piVar24;\n              if ((long)uVar18 < 0) goto LAB_0013eb61;\n            }" { (if_statement "if (uVar22 < 0x30) {\n                piVar24 = (int *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                piVar24 = (int *)ap->overflow_arg_area;\n                ap->overflow_arg_area = piVar24 + 2;\n              }" if (parenthesized_expression "(uVar22 < 0x30)" ( (binary_expression "uVar22 < 0x30" identifier < number_literal) )) (compound_statement "{\n                piVar24 = (int *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }" { (expression_statement "piVar24 = (int *)((ulong)uVar22 + (long)ap->reg_save_area);" (assignment_expression "piVar24 = (int *)((ulong)uVar22 + (long)ap->reg_save_area)" identifier = (cast_expression "(int *)((ulong)uVar22 + (long)ap->reg_save_area)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar22 + (long)ap->reg_save_area)" ( (binary_expression "(ulong)uVar22 + (long)ap->reg_save_area" (cast_expression "(ulong)uVar22" ( (type_descriptor "ulong" type_identifier) ) identifier) + (cast_expression "(long)ap->reg_save_area" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "ap->reg_save_area" identifier -> field_identifier))) )))) ;) (expression_statement "ap->gp_offset = uVar22 + 8;" (assignment_expression "ap->gp_offset = uVar22 + 8" (field_expression "ap->gp_offset" identifier -> field_identifier) = (binary_expression "uVar22 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n                piVar24 = (int *)ap->overflow_arg_area;\n                ap->overflow_arg_area = piVar24 + 2;\n              }" else (compound_statement "{\n                piVar24 = (int *)ap->overflow_arg_area;\n                ap->overflow_arg_area = piVar24 + 2;\n              }" { (expression_statement "piVar24 = (int *)ap->overflow_arg_area;" (assignment_expression "piVar24 = (int *)ap->overflow_arg_area" identifier = (cast_expression "(int *)ap->overflow_arg_area" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "ap->overflow_arg_area" identifier -> field_identifier))) ;) (expression_statement "ap->overflow_arg_area = piVar24 + 2;" (assignment_expression "ap->overflow_arg_area = piVar24 + 2" (field_expression "ap->overflow_arg_area" identifier -> field_identifier) = (binary_expression "piVar24 + 2" identifier + number_literal)) ;) }))) (expression_statement "uVar18 = (ulong)*piVar24;" (assignment_expression "uVar18 = (ulong)*piVar24" identifier = (binary_expression "(ulong)*piVar24" (parenthesized_expression "(ulong)" ( identifier )) * identifier)) ;) (if_statement "if ((long)uVar18 < 0) goto LAB_0013eb61;" if (parenthesized_expression "((long)uVar18 < 0)" ( (binary_expression "(long)uVar18 < 0" (cast_expression "(long)uVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) < number_literal) )) (goto_statement "goto LAB_0013eb61;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0013f15e:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              if ((long)uVar18 < 0) goto LAB_0013f180;\n            }" else (compound_statement "{\nLAB_0013f15e:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }\n              uVar18 = *puVar25;\n              if ((long)uVar18 < 0) goto LAB_0013f180;\n            }" { (labeled_statement "LAB_0013f15e:\n              if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }" statement_identifier : (if_statement "if (uVar22 < 0x30) {\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }\n              else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }" if (parenthesized_expression "(uVar22 < 0x30)" ( (binary_expression "uVar22 < 0x30" identifier < number_literal) )) (compound_statement "{\n                puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);\n                ap->gp_offset = uVar22 + 8;\n              }" { (expression_statement "puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area);" (assignment_expression "puVar25 = (ulong *)((ulong)uVar22 + (long)ap->reg_save_area)" identifier = (cast_expression "(ulong *)((ulong)uVar22 + (long)ap->reg_save_area)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar22 + (long)ap->reg_save_area)" ( (binary_expression "(ulong)uVar22 + (long)ap->reg_save_area" (cast_expression "(ulong)uVar22" ( (type_descriptor "ulong" type_identifier) ) identifier) + (cast_expression "(long)ap->reg_save_area" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "ap->reg_save_area" identifier -> field_identifier))) )))) ;) (expression_statement "ap->gp_offset = uVar22 + 8;" (assignment_expression "ap->gp_offset = uVar22 + 8" (field_expression "ap->gp_offset" identifier -> field_identifier) = (binary_expression "uVar22 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }" else (compound_statement "{\n                puVar25 = (ulong *)ap->overflow_arg_area;\n                ap->overflow_arg_area = puVar25 + 1;\n              }" { (expression_statement "puVar25 = (ulong *)ap->overflow_arg_area;" (assignment_expression "puVar25 = (ulong *)ap->overflow_arg_area" identifier = (cast_expression "(ulong *)ap->overflow_arg_area" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "ap->overflow_arg_area" identifier -> field_identifier))) ;) (expression_statement "ap->overflow_arg_area = puVar25 + 1;" (assignment_expression "ap->overflow_arg_area = puVar25 + 1" (field_expression "ap->overflow_arg_area" identifier -> field_identifier) = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) })))) (expression_statement "uVar18 = *puVar25;" (assignment_expression "uVar18 = *puVar25" identifier = (pointer_expression "*puVar25" * identifier)) ;) (if_statement "if ((long)uVar18 < 0) goto LAB_0013f180;" if (parenthesized_expression "((long)uVar18 < 0)" ( (binary_expression "(long)uVar18 < 0" (cast_expression "(long)uVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) < number_literal) )) (goto_statement "goto LAB_0013f180;" goto statement_identifier ;)) }))) (goto_statement "goto LAB_0013f51d;" goto statement_identifier ;) })) (labeled_statement "LAB_0013f4cf:\n          uVar18 = getIntArg(local_d8);" statement_identifier : (expression_statement "uVar18 = getIntArg(local_d8);" (assignment_expression "uVar18 = getIntArg(local_d8)" identifier = (call_expression "getIntArg(local_d8)" identifier (argument_list "(local_d8)" ( identifier )))) ;)) (if_statement "if (-1 < (long)uVar18) goto LAB_0013f51d;" if (parenthesized_expression "(-1 < (long)uVar18)" ( (binary_expression "-1 < (long)uVar18" number_literal < (cast_expression "(long)uVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) (goto_statement "goto LAB_0013f51d;" goto statement_identifier ;)) (labeled_statement "LAB_0013f180:\n          if (uVar18 == 0x8000000000000000) {\n            bVar10 = 0x2d;\n            uVar18 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar18 = -uVar18;\n            bVar10 = 0x2d;\n          }" statement_identifier : (if_statement "if (uVar18 == 0x8000000000000000) {\n            bVar10 = 0x2d;\n            uVar18 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar18 = -uVar18;\n            bVar10 = 0x2d;\n          }" if (parenthesized_expression "(uVar18 == 0x8000000000000000)" ( (binary_expression "uVar18 == 0x8000000000000000" identifier == number_literal) )) (compound_statement "{\n            bVar10 = 0x2d;\n            uVar18 = 0x8000000000000000;\n          }" { (expression_statement "bVar10 = 0x2d;" (assignment_expression "bVar10 = 0x2d" identifier = number_literal) ;) (expression_statement "uVar18 = 0x8000000000000000;" (assignment_expression "uVar18 = 0x8000000000000000" identifier = number_literal) ;) }) (else_clause "else {\nLAB_0013eb61:\n            uVar18 = -uVar18;\n            bVar10 = 0x2d;\n          }" else (compound_statement "{\nLAB_0013eb61:\n            uVar18 = -uVar18;\n            bVar10 = 0x2d;\n          }" { (labeled_statement "LAB_0013eb61:\n            uVar18 = -uVar18;" statement_identifier : (expression_statement "uVar18 = -uVar18;" (assignment_expression "uVar18 = -uVar18" identifier = (unary_expression "-uVar18" - identifier)) ;)) (expression_statement "bVar10 = 0x2d;" (assignment_expression "bVar10 = 0x2d" identifier = number_literal) ;) })))) }))) (if_statement "if ((bVar42) && (uVar22 = uVar36 - (bVar10 != 0), (int)uVar13 < (int)uVar22)) {\n          uVar13 = uVar22;\n        }" if (parenthesized_expression "((bVar42) && (uVar22 = uVar36 - (bVar10 != 0), (int)uVar13 < (int)uVar22))" ( (binary_expression "(bVar42) && (uVar22 = uVar36 - (bVar10 != 0), (int)uVar13 < (int)uVar22)" (parenthesized_expression "(bVar42)" ( identifier )) && (parenthesized_expression "(uVar22 = uVar36 - (bVar10 != 0), (int)uVar13 < (int)uVar22)" ( (comma_expression "uVar22 = uVar36 - (bVar10 != 0), (int)uVar13 < (int)uVar22" (assignment_expression "uVar22 = uVar36 - (bVar10 != 0)" identifier = (binary_expression "uVar36 - (bVar10 != 0)" identifier - (parenthesized_expression "(bVar10 != 0)" ( (binary_expression "bVar10 != 0" identifier != number_literal) )))) , (binary_expression "(int)uVar13 < (int)uVar22" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (compound_statement "{\n          uVar13 = uVar22;\n        }" { (expression_statement "uVar13 = uVar22;" (assignment_expression "uVar13 = uVar22" identifier = identifier) ;) })) (if_statement "if ((int)uVar13 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar15 = (byte *)(buf + 0x45);\n        }\n        else {\n          sVar19 = (long)(int)uVar13 + 10;\n          if (bVar40 != 0) {\n            sVar19 = sVar19 + (int)uVar13 / 3;\n          }\n          local_e0 = (byte *)printfTempBuf(pAccum,sVar19);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar15 = local_e0 + (long)(int)sVar19 + -1;\n        }" if (parenthesized_expression "((int)uVar13 < 0x25)" ( (binary_expression "(int)uVar13 < 0x25" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          local_e0 = (byte *)0x0;\n          pbVar15 = (byte *)(buf + 0x45);\n        }" { (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar15 = (byte *)(buf + 0x45);" (assignment_expression "pbVar15 = (byte *)(buf + 0x45)" identifier = (cast_expression "(byte *)(buf + 0x45)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(buf + 0x45)" ( (binary_expression "buf + 0x45" identifier + number_literal) )))) ;) }) (else_clause "else {\n          sVar19 = (long)(int)uVar13 + 10;\n          if (bVar40 != 0) {\n            sVar19 = sVar19 + (int)uVar13 / 3;\n          }\n          local_e0 = (byte *)printfTempBuf(pAccum,sVar19);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar15 = local_e0 + (long)(int)sVar19 + -1;\n        }" else (compound_statement "{\n          sVar19 = (long)(int)uVar13 + 10;\n          if (bVar40 != 0) {\n            sVar19 = sVar19 + (int)uVar13 / 3;\n          }\n          local_e0 = (byte *)printfTempBuf(pAccum,sVar19);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar15 = local_e0 + (long)(int)sVar19 + -1;\n        }" { (expression_statement "sVar19 = (long)(int)uVar13 + 10;" (assignment_expression "sVar19 = (long)(int)uVar13 + 10" identifier = (binary_expression "(long)(int)uVar13 + 10" (cast_expression "(long)(int)uVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal)) ;) (if_statement "if (bVar40 != 0) {\n            sVar19 = sVar19 + (int)uVar13 / 3;\n          }" if (parenthesized_expression "(bVar40 != 0)" ( (binary_expression "bVar40 != 0" identifier != number_literal) )) (compound_statement "{\n            sVar19 = sVar19 + (int)uVar13 / 3;\n          }" { (expression_statement "sVar19 = sVar19 + (int)uVar13 / 3;" (assignment_expression "sVar19 = sVar19 + (int)uVar13 / 3" identifier = (binary_expression "sVar19 + (int)uVar13 / 3" identifier + (binary_expression "(int)uVar13 / 3" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) / number_literal))) ;) })) (expression_statement "local_e0 = (byte *)printfTempBuf(pAccum,sVar19);" (assignment_expression "local_e0 = (byte *)printfTempBuf(pAccum,sVar19)" identifier = (cast_expression "(byte *)printfTempBuf(pAccum,sVar19)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "printfTempBuf(pAccum,sVar19)" identifier (argument_list "(pAccum,sVar19)" ( identifier , identifier ))))) ;) (if_statement "if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;" if (parenthesized_expression "(local_e0 == (byte *)0x0)" ( (binary_expression "local_e0 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto switchD_0013ea21_caseD_11;" goto statement_identifier ;)) (expression_statement "pbVar15 = local_e0 + (long)(int)sVar19 + -1;" (assignment_expression "pbVar15 = local_e0 + (long)(int)sVar19 + -1" identifier = (binary_expression "local_e0 + (long)(int)sVar19 + -1" (binary_expression "local_e0 + (long)(int)sVar19" identifier + (cast_expression "(long)(int)sVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)sVar19" ( (type_descriptor "int" primitive_type) ) identifier))) + number_literal)) ;) }))) (expression_statement "pbVar26 = pbVar15;" (assignment_expression "pbVar26 = pbVar15" identifier = identifier) ;) (if_statement "if (eVar37 == '\x0f') {\n          if ((uVar18 % 10 < 4) && ((uVar18 / 10) % 10 != 1)) {\n            iVar12 = (int)(uVar18 % 10) * 2;\n            bVar27 = "thstndrd"[iVar12 + 1];\n            bVar11 = "thstndrd"[iVar12];\n          }\n          else {\n            bVar11 = 0x74;\n            bVar27 = 0x68;\n          }\n          pbVar15[-1] = bVar27;\n          pbVar26 = pbVar15 + -2;\n          pbVar15[-2] = bVar11;\n        }" if (parenthesized_expression "(eVar37 == '\x0f')" ( (binary_expression "eVar37 == '\x0f'" identifier == (char_literal "'\x0f'" ' escape_sequence ')) )) (compound_statement "{\n          if ((uVar18 % 10 < 4) && ((uVar18 / 10) % 10 != 1)) {\n            iVar12 = (int)(uVar18 % 10) * 2;\n            bVar27 = "thstndrd"[iVar12 + 1];\n            bVar11 = "thstndrd"[iVar12];\n          }\n          else {\n            bVar11 = 0x74;\n            bVar27 = 0x68;\n          }\n          pbVar15[-1] = bVar27;\n          pbVar26 = pbVar15 + -2;\n          pbVar15[-2] = bVar11;\n        }" { (if_statement "if ((uVar18 % 10 < 4) && ((uVar18 / 10) % 10 != 1)) {\n            iVar12 = (int)(uVar18 % 10) * 2;\n            bVar27 = "thstndrd"[iVar12 + 1];\n            bVar11 = "thstndrd"[iVar12];\n          }\n          else {\n            bVar11 = 0x74;\n            bVar27 = 0x68;\n          }" if (parenthesized_expression "((uVar18 % 10 < 4) && ((uVar18 / 10) % 10 != 1))" ( (binary_expression "(uVar18 % 10 < 4) && ((uVar18 / 10) % 10 != 1)" (parenthesized_expression "(uVar18 % 10 < 4)" ( (binary_expression "uVar18 % 10 < 4" (binary_expression "uVar18 % 10" identifier % number_literal) < number_literal) )) && (parenthesized_expression "((uVar18 / 10) % 10 != 1)" ( (binary_expression "(uVar18 / 10) % 10 != 1" (binary_expression "(uVar18 / 10) % 10" (parenthesized_expression "(uVar18 / 10)" ( (binary_expression "uVar18 / 10" identifier / number_literal) )) % number_literal) != number_literal) ))) )) (compound_statement "{\n            iVar12 = (int)(uVar18 % 10) * 2;\n            bVar27 = "thstndrd"[iVar12 + 1];\n            bVar11 = "thstndrd"[iVar12];\n          }" { (expression_statement "iVar12 = (int)(uVar18 % 10) * 2;" (assignment_expression "iVar12 = (int)(uVar18 % 10) * 2" identifier = (binary_expression "(int)(uVar18 % 10) * 2" (cast_expression "(int)(uVar18 % 10)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar18 % 10)" ( (binary_expression "uVar18 % 10" identifier % number_literal) ))) * number_literal)) ;) (expression_statement "bVar27 = "thstndrd"[iVar12 + 1];" (assignment_expression "bVar27 = "thstndrd"[iVar12 + 1]" identifier = (subscript_expression ""thstndrd"[iVar12 + 1]" (string_literal ""thstndrd"" " string_content ") [ (binary_expression "iVar12 + 1" identifier + number_literal) ])) ;) (expression_statement "bVar11 = "thstndrd"[iVar12];" (assignment_expression "bVar11 = "thstndrd"[iVar12]" identifier = (subscript_expression ""thstndrd"[iVar12]" (string_literal ""thstndrd"" " string_content ") [ identifier ])) ;) }) (else_clause "else {\n            bVar11 = 0x74;\n            bVar27 = 0x68;\n          }" else (compound_statement "{\n            bVar11 = 0x74;\n            bVar27 = 0x68;\n          }" { (expression_statement "bVar11 = 0x74;" (assignment_expression "bVar11 = 0x74" identifier = number_literal) ;) (expression_statement "bVar27 = 0x68;" (assignment_expression "bVar27 = 0x68" identifier = number_literal) ;) }))) (expression_statement "pbVar15[-1] = bVar27;" (assignment_expression "pbVar15[-1] = bVar27" (subscript_expression "pbVar15[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar26 = pbVar15 + -2;" (assignment_expression "pbVar26 = pbVar15 + -2" identifier = (binary_expression "pbVar15 + -2" identifier + number_literal)) ;) (expression_statement "pbVar15[-2] = bVar11;" (assignment_expression "pbVar15[-2] = bVar11" (subscript_expression "pbVar15[-2]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "bVar27 = fmtinfo[iVar31].charset;" (assignment_expression "bVar27 = fmtinfo[iVar31].charset" identifier = (field_expression "fmtinfo[iVar31].charset" (subscript_expression "fmtinfo[iVar31]" identifier [ identifier ]) . field_identifier)) ;) (expression_statement "uVar35 = (ulong)fmtinfo[iVar31].base;" (assignment_expression "uVar35 = (ulong)fmtinfo[iVar31].base" identifier = (cast_expression "(ulong)fmtinfo[iVar31].base" ( (type_descriptor "ulong" type_identifier) ) (field_expression "fmtinfo[iVar31].base" (subscript_expression "fmtinfo[iVar31]" identifier [ identifier ]) . field_identifier))) ;) (do_statement "do {\n          pbVar26 = pbVar26 + -1;\n          *pbVar26 = "0123456789ABCDEF0123456789abcdef"[uVar18 % uVar35 + (ulong)bVar27];\n          bVar42 = uVar35 <= uVar18;\n          uVar18 = uVar18 / uVar35;\n        } while (bVar42);" do (compound_statement "{\n          pbVar26 = pbVar26 + -1;\n          *pbVar26 = "0123456789ABCDEF0123456789abcdef"[uVar18 % uVar35 + (ulong)bVar27];\n          bVar42 = uVar35 <= uVar18;\n          uVar18 = uVar18 / uVar35;\n        }" { (expression_statement "pbVar26 = pbVar26 + -1;" (assignment_expression "pbVar26 = pbVar26 + -1" identifier = (binary_expression "pbVar26 + -1" identifier + number_literal)) ;) (expression_statement "*pbVar26 = "0123456789ABCDEF0123456789abcdef"[uVar18 % uVar35 + (ulong)bVar27];" (assignment_expression "*pbVar26 = "0123456789ABCDEF0123456789abcdef"[uVar18 % uVar35 + (ulong)bVar27]" (pointer_expression "*pbVar26" * identifier) = (subscript_expression ""0123456789ABCDEF0123456789abcdef"[uVar18 % uVar35 + (ulong)bVar27]" (string_literal ""0123456789ABCDEF0123456789abcdef"" " string_content ") [ (binary_expression "uVar18 % uVar35 + (ulong)bVar27" (binary_expression "uVar18 % uVar35" identifier % identifier) + (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier)) ])) ;) (expression_statement "bVar42 = uVar35 <= uVar18;" (assignment_expression "bVar42 = uVar35 <= uVar18" identifier = (binary_expression "uVar35 <= uVar18" identifier <= identifier)) ;) (expression_statement "uVar18 = uVar18 / uVar35;" (assignment_expression "uVar18 = uVar18 / uVar35" identifier = (binary_expression "uVar18 / uVar35" identifier / identifier)) ;) }) while (parenthesized_expression "(bVar42)" ( identifier )) ;) (expression_statement "uVar22 = (int)pbVar15 - (int)pbVar26;" (assignment_expression "uVar22 = (int)pbVar15 - (int)pbVar26" identifier = (binary_expression "(int)pbVar15 - (int)pbVar26" (cast_expression "(int)pbVar15" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar26" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pbVar41 = pbVar26;" (assignment_expression "pbVar41 = pbVar26" identifier = identifier) ;) (if_statement "if ((int)uVar22 < (int)uVar13) {\n          pbVar41 = pbVar26 + ~(ulong)((uVar13 - 1) - uVar22);\n          do {\n            pbVar26 = pbVar26 + -1;\n            *pbVar26 = 0x30;\n            uVar22 = uVar13;\n          } while (pbVar26 != pbVar41);\n        }" if (parenthesized_expression "((int)uVar22 < (int)uVar13)" ( (binary_expression "(int)uVar22 < (int)uVar13" (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pbVar41 = pbVar26 + ~(ulong)((uVar13 - 1) - uVar22);\n          do {\n            pbVar26 = pbVar26 + -1;\n            *pbVar26 = 0x30;\n            uVar22 = uVar13;\n          } while (pbVar26 != pbVar41);\n        }" { (expression_statement "pbVar41 = pbVar26 + ~(ulong)((uVar13 - 1) - uVar22);" (assignment_expression "pbVar41 = pbVar26 + ~(ulong)((uVar13 - 1) - uVar22)" identifier = (binary_expression "pbVar26 + ~(ulong)((uVar13 - 1) - uVar22)" identifier + (unary_expression "~(ulong)((uVar13 - 1) - uVar22)" ~ (call_expression "(ulong)((uVar13 - 1) - uVar22)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uVar13 - 1) - uVar22)" ( (binary_expression "(uVar13 - 1) - uVar22" (parenthesized_expression "(uVar13 - 1)" ( (binary_expression "uVar13 - 1" identifier - number_literal) )) - identifier) )))))) ;) (do_statement "do {\n            pbVar26 = pbVar26 + -1;\n            *pbVar26 = 0x30;\n            uVar22 = uVar13;\n          } while (pbVar26 != pbVar41);" do (compound_statement "{\n            pbVar26 = pbVar26 + -1;\n            *pbVar26 = 0x30;\n            uVar22 = uVar13;\n          }" { (expression_statement "pbVar26 = pbVar26 + -1;" (assignment_expression "pbVar26 = pbVar26 + -1" identifier = (binary_expression "pbVar26 + -1" identifier + number_literal)) ;) (expression_statement "*pbVar26 = 0x30;" (assignment_expression "*pbVar26 = 0x30" (pointer_expression "*pbVar26" * identifier) = number_literal) ;) (expression_statement "uVar22 = uVar13;" (assignment_expression "uVar22 = uVar13" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar26 != pbVar41)" ( (binary_expression "pbVar26 != pbVar41" identifier != identifier) )) ;) })) (if_statement "if (bVar40 != 0) {\n          iVar32 = (int)(uVar22 - 1) / 3;\n          iVar12 = (int)(uVar22 - 1) % 3 + 1;\n          pbVar41 = pbVar41 + -(long)iVar32;\n          if (iVar32 != 0) {\n            iVar8 = 0;\n            while( true ) {\n              do {\n                iVar23 = iVar8;\n                pbVar41[iVar23] = pbVar41[iVar32 + iVar23];\n                iVar12 = iVar12 + -1;\n                iVar8 = iVar23 + 1;\n              } while (iVar12 != 0);\n              pbVar41[iVar23 + 1] = bVar40;\n              iVar32 = iVar32 + -1;\n              if (iVar32 == 0) break;\n              iVar12 = 3;\n              iVar8 = iVar23 + 2;\n            }\n          }\n        }" if (parenthesized_expression "(bVar40 != 0)" ( (binary_expression "bVar40 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar32 = (int)(uVar22 - 1) / 3;\n          iVar12 = (int)(uVar22 - 1) % 3 + 1;\n          pbVar41 = pbVar41 + -(long)iVar32;\n          if (iVar32 != 0) {\n            iVar8 = 0;\n            while( true ) {\n              do {\n                iVar23 = iVar8;\n                pbVar41[iVar23] = pbVar41[iVar32 + iVar23];\n                iVar12 = iVar12 + -1;\n                iVar8 = iVar23 + 1;\n              } while (iVar12 != 0);\n              pbVar41[iVar23 + 1] = bVar40;\n              iVar32 = iVar32 + -1;\n              if (iVar32 == 0) break;\n              iVar12 = 3;\n              iVar8 = iVar23 + 2;\n            }\n          }\n        }" { (expression_statement "iVar32 = (int)(uVar22 - 1) / 3;" (assignment_expression "iVar32 = (int)(uVar22 - 1) / 3" identifier = (binary_expression "(int)(uVar22 - 1) / 3" (cast_expression "(int)(uVar22 - 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar22 - 1)" ( (binary_expression "uVar22 - 1" identifier - number_literal) ))) / number_literal)) ;) (expression_statement "iVar12 = (int)(uVar22 - 1) % 3 + 1;" (assignment_expression "iVar12 = (int)(uVar22 - 1) % 3 + 1" identifier = (binary_expression "(int)(uVar22 - 1) % 3 + 1" (binary_expression "(int)(uVar22 - 1) % 3" (cast_expression "(int)(uVar22 - 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar22 - 1)" ( (binary_expression "uVar22 - 1" identifier - number_literal) ))) % number_literal) + number_literal)) ;) (expression_statement "pbVar41 = pbVar41 + -(long)iVar32;" (assignment_expression "pbVar41 = pbVar41 + -(long)iVar32" identifier = (binary_expression "pbVar41 + -(long)iVar32" identifier + (unary_expression "-(long)iVar32" - (cast_expression "(long)iVar32" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)))) ;) (if_statement "if (iVar32 != 0) {\n            iVar8 = 0;\n            while( true ) {\n              do {\n                iVar23 = iVar8;\n                pbVar41[iVar23] = pbVar41[iVar32 + iVar23];\n                iVar12 = iVar12 + -1;\n                iVar8 = iVar23 + 1;\n              } while (iVar12 != 0);\n              pbVar41[iVar23 + 1] = bVar40;\n              iVar32 = iVar32 + -1;\n              if (iVar32 == 0) break;\n              iVar12 = 3;\n              iVar8 = iVar23 + 2;\n            }\n          }" if (parenthesized_expression "(iVar32 != 0)" ( (binary_expression "iVar32 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar8 = 0;\n            while( true ) {\n              do {\n                iVar23 = iVar8;\n                pbVar41[iVar23] = pbVar41[iVar32 + iVar23];\n                iVar12 = iVar12 + -1;\n                iVar8 = iVar23 + 1;\n              } while (iVar12 != 0);\n              pbVar41[iVar23 + 1] = bVar40;\n              iVar32 = iVar32 + -1;\n              if (iVar32 == 0) break;\n              iVar12 = 3;\n              iVar8 = iVar23 + 2;\n            }\n          }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n              do {\n                iVar23 = iVar8;\n                pbVar41[iVar23] = pbVar41[iVar32 + iVar23];\n                iVar12 = iVar12 + -1;\n                iVar8 = iVar23 + 1;\n              } while (iVar12 != 0);\n              pbVar41[iVar23 + 1] = bVar40;\n              iVar32 = iVar32 + -1;\n              if (iVar32 == 0) break;\n              iVar12 = 3;\n              iVar8 = iVar23 + 2;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              do {\n                iVar23 = iVar8;\n                pbVar41[iVar23] = pbVar41[iVar32 + iVar23];\n                iVar12 = iVar12 + -1;\n                iVar8 = iVar23 + 1;\n              } while (iVar12 != 0);\n              pbVar41[iVar23 + 1] = bVar40;\n              iVar32 = iVar32 + -1;\n              if (iVar32 == 0) break;\n              iVar12 = 3;\n              iVar8 = iVar23 + 2;\n            }" { (do_statement "do {\n                iVar23 = iVar8;\n                pbVar41[iVar23] = pbVar41[iVar32 + iVar23];\n                iVar12 = iVar12 + -1;\n                iVar8 = iVar23 + 1;\n              } while (iVar12 != 0);" do (compound_statement "{\n                iVar23 = iVar8;\n                pbVar41[iVar23] = pbVar41[iVar32 + iVar23];\n                iVar12 = iVar12 + -1;\n                iVar8 = iVar23 + 1;\n              }" { (expression_statement "iVar23 = iVar8;" (assignment_expression "iVar23 = iVar8" identifier = identifier) ;) (expression_statement "pbVar41[iVar23] = pbVar41[iVar32 + iVar23];" (assignment_expression "pbVar41[iVar23] = pbVar41[iVar32 + iVar23]" (subscript_expression "pbVar41[iVar23]" identifier [ identifier ]) = (subscript_expression "pbVar41[iVar32 + iVar23]" identifier [ (binary_expression "iVar32 + iVar23" identifier + identifier) ])) ;) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "iVar8 = iVar23 + 1;" (assignment_expression "iVar8 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) ;) (expression_statement "pbVar41[iVar23 + 1] = bVar40;" (assignment_expression "pbVar41[iVar23 + 1] = bVar40" (subscript_expression "pbVar41[iVar23 + 1]" identifier [ (binary_expression "iVar23 + 1" identifier + number_literal) ]) = identifier) ;) (expression_statement "iVar32 = iVar32 + -1;" (assignment_expression "iVar32 = iVar32 + -1" identifier = (binary_expression "iVar32 + -1" identifier + number_literal)) ;) (if_statement "if (iVar32 == 0) break;" if (parenthesized_expression "(iVar32 == 0)" ( (binary_expression "iVar32 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = 3;" (assignment_expression "iVar12 = 3" identifier = number_literal) ;) (expression_statement "iVar8 = iVar23 + 2;" (assignment_expression "iVar8 = iVar23 + 2" identifier = (binary_expression "iVar23 + 2" identifier + number_literal)) ;) })) })) })) (if_statement "if (bVar10 != 0) {\n          pbVar41[-1] = bVar10;\n          pbVar41 = pbVar41 + -1;\n        }" if (parenthesized_expression "(bVar10 != 0)" ( (binary_expression "bVar10 != 0" identifier != number_literal) )) (compound_statement "{\n          pbVar41[-1] = bVar10;\n          pbVar41 = pbVar41 + -1;\n        }" { (expression_statement "pbVar41[-1] = bVar10;" (assignment_expression "pbVar41[-1] = bVar10" (subscript_expression "pbVar41[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar41 = pbVar41 + -1;" (assignment_expression "pbVar41 = pbVar41 + -1" identifier = (binary_expression "pbVar41 + -1" identifier + number_literal)) ;) })) (if_statement "if ((bVar39 != 0) && (bVar10 = fmtinfo[iVar31].prefix, bVar10 != 0)) {\n          pbVar26 = (byte *)("-x0" + bVar10);\n          bVar10 = "-x0"[bVar10];\n          while (bVar10 != 0) {\n            pbVar41 = pbVar41 + -1;\n            pbVar26 = pbVar26 + 1;\n            *pbVar41 = bVar10;\n            bVar10 = *pbVar26;\n          }\n        }" if (parenthesized_expression "((bVar39 != 0) && (bVar10 = fmtinfo[iVar31].prefix, bVar10 != 0))" ( (binary_expression "(bVar39 != 0) && (bVar10 = fmtinfo[iVar31].prefix, bVar10 != 0)" (parenthesized_expression "(bVar39 != 0)" ( (binary_expression "bVar39 != 0" identifier != number_literal) )) && (parenthesized_expression "(bVar10 = fmtinfo[iVar31].prefix, bVar10 != 0)" ( (comma_expression "bVar10 = fmtinfo[iVar31].prefix, bVar10 != 0" (assignment_expression "bVar10 = fmtinfo[iVar31].prefix" identifier = (field_expression "fmtinfo[iVar31].prefix" (subscript_expression "fmtinfo[iVar31]" identifier [ identifier ]) . field_identifier)) , (binary_expression "bVar10 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          pbVar26 = (byte *)("-x0" + bVar10);\n          bVar10 = "-x0"[bVar10];\n          while (bVar10 != 0) {\n            pbVar41 = pbVar41 + -1;\n            pbVar26 = pbVar26 + 1;\n            *pbVar41 = bVar10;\n            bVar10 = *pbVar26;\n          }\n        }" { (expression_statement "pbVar26 = (byte *)("-x0" + bVar10);" (assignment_expression "pbVar26 = (byte *)("-x0" + bVar10)" identifier = (cast_expression "(byte *)("-x0" + bVar10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "("-x0" + bVar10)" ( (binary_expression ""-x0" + bVar10" (string_literal ""-x0"" " string_content ") + identifier) )))) ;) (expression_statement "bVar10 = "-x0"[bVar10];" (assignment_expression "bVar10 = "-x0"[bVar10]" identifier = (subscript_expression ""-x0"[bVar10]" (string_literal ""-x0"" " string_content ") [ identifier ])) ;) (while_statement "while (bVar10 != 0) {\n            pbVar41 = pbVar41 + -1;\n            pbVar26 = pbVar26 + 1;\n            *pbVar41 = bVar10;\n            bVar10 = *pbVar26;\n          }" while (parenthesized_expression "(bVar10 != 0)" ( (binary_expression "bVar10 != 0" identifier != number_literal) )) (compound_statement "{\n            pbVar41 = pbVar41 + -1;\n            pbVar26 = pbVar26 + 1;\n            *pbVar41 = bVar10;\n            bVar10 = *pbVar26;\n          }" { (expression_statement "pbVar41 = pbVar41 + -1;" (assignment_expression "pbVar41 = pbVar41 + -1" identifier = (binary_expression "pbVar41 + -1" identifier + number_literal)) ;) (expression_statement "pbVar26 = pbVar26 + 1;" (assignment_expression "pbVar26 = pbVar26 + 1" identifier = (binary_expression "pbVar26 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar41 = bVar10;" (assignment_expression "*pbVar41 = bVar10" (pointer_expression "*pbVar41" * identifier) = identifier) ;) (expression_statement "bVar10 = *pbVar26;" (assignment_expression "bVar10 = *pbVar26" identifier = (pointer_expression "*pbVar26" * identifier)) ;) })) })) (expression_statement "uVar22 = (int)pbVar15 - (int)pbVar41;" (assignment_expression "uVar22 = (int)pbVar15 - (int)pbVar41" identifier = (binary_expression "(int)pbVar15 - (int)pbVar41" (cast_expression "(int)pbVar15" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar41" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar36 = uVar36 - uVar22;" (assignment_expression "uVar36 = uVar36 - uVar22" identifier = (binary_expression "uVar36 - uVar22" identifier - identifier)) ;) (labeled_statement "LAB_0013f018:\n        if ((int)uVar36 < 1) {\nLAB_0013fd63:\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }\n        else if (bVar7) {\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n        }\n        else {\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }" statement_identifier : (if_statement "if ((int)uVar36 < 1) {\nLAB_0013fd63:\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }\n        else if (bVar7) {\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n        }\n        else {\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }" if (parenthesized_expression "((int)uVar36 < 1)" ( (binary_expression "(int)uVar36 < 1" (cast_expression "(int)uVar36" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\nLAB_0013fd63:\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }" { (labeled_statement "LAB_0013fd63:\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);" statement_identifier : (expression_statement "sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);" (call_expression "sqlite3_str_append(pAccum,(char *)pbVar41,uVar22)" identifier (argument_list "(pAccum,(char *)pbVar41,uVar22)" ( identifier , (cast_expression "(char *)pbVar41" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;)) }) (else_clause "else if (bVar7) {\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n        }\n        else {\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }" else (if_statement "if (bVar7) {\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n        }\n        else {\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }" if (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n        }" { (expression_statement "sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);" (call_expression "sqlite3_str_append(pAccum,(char *)pbVar41,uVar22)" identifier (argument_list "(pAccum,(char *)pbVar41,uVar22)" ( identifier , (cast_expression "(char *)pbVar41" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "sqlite3_str_appendchar(pAccum,uVar36,' ');" (call_expression "sqlite3_str_appendchar(pAccum,uVar36,' ')" identifier (argument_list "(pAccum,uVar36,' ')" ( identifier , identifier , (char_literal "' '" ' character ') ))) ;) }) (else_clause "else {\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }" else (compound_statement "{\n          sqlite3_str_appendchar(pAccum,uVar36,' ');\n          sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        }" { (expression_statement "sqlite3_str_appendchar(pAccum,uVar36,' ');" (call_expression "sqlite3_str_appendchar(pAccum,uVar36,' ')" identifier (argument_list "(pAccum,uVar36,' ')" ( identifier , identifier , (char_literal "' '" ' character ') ))) ;) (expression_statement "sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);" (call_expression "sqlite3_str_append(pAccum,(char *)pbVar41,uVar22)" identifier (argument_list "(pAccum,(char *)pbVar41,uVar22)" ( identifier , (cast_expression "(char *)pbVar41" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) })))))) (if_statement "if (local_e0 != (byte *)0x0) {\n          sqlite3DbFreeNN(pAccum->db,local_e0);\n        }" if (parenthesized_expression "(local_e0 != (byte *)0x0)" ( (binary_expression "local_e0 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          sqlite3DbFreeNN(pAccum->db,local_e0);\n        }" { (expression_statement "sqlite3DbFreeNN(pAccum->db,local_e0);" (call_expression "sqlite3DbFreeNN(pAccum->db,local_e0)" identifier (argument_list "(pAccum->db,local_e0)" ( (field_expression "pAccum->db" identifier -> field_identifier) , identifier ))) ;) })) (break_statement "break;" break ;)) (case_statement "case '\x01':" case (char_literal "'\x01'" ' escape_sequence ') :) (case_statement "case '\x02':" case (char_literal "'\x02'" ' escape_sequence ') :) (case_statement "case '\x03':\n        if (local_b6 == 0) {\n          uVar22 = ap->fp_offset;\n          if (uVar22 < 0xb0) {\n            ap->fp_offset = uVar22 + 0x10;\n            dVar44 = *(double *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            pdVar3 = (double *)ap->overflow_arg_area;\n            ap->overflow_arg_area = pdVar3 + 1;\n            dVar44 = *pdVar3;\n          }\n          if (uVar13 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar43 = 0 < (int)uVar13;\n        }\n        else {\n          iVar12 = local_d8->nUsed;\n          if (iVar12 < local_d8->nArg) {\n            local_d8->nUsed = iVar12 + 1;\n            dVar44 = sqlite3_value_double(local_d8->apArg[iVar12]);\n          }\n          else {\n            dVar44 = 0.0;\n          }\n          if (uVar13 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar43 = true;\n          uVar13 = 6;\n        }\n        if (dVar44 < 0.0) {\n          dVar44 = -dVar44;\n          bVar10 = 0x2d;\n        }\n        dVar45 = DAT_001fae78;\n        if ((eVar37 != '\x03') || (!bVar43)) {\n          uVar22 = uVar13 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar13 = uVar13 - 1;\n        uVar22 = uVar13 & 0xfff;\n        if (uVar22 != 0) {\n          do {\n            dVar45 = dVar45 * DAT_001faf40;\n            uVar22 = uVar22 - 1;\njoined_r0x0013ec49:\n          } while (uVar22 != 0);\n          if (eVar37 == '\x01') {\n            dVar44 = dVar45 + dVar44;\n          }\n        }\n        if (NAN(dVar44)) {\n          uVar36 = uVar36 - 3;\n          uVar22 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar41 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar18 = 0;\n        if (0.0 < dVar44) {\n          dVar5 = _DAT_001faf38;\n          if (dVar44 < _DAT_001faf38) {\n            dVar5 = (double)_DAT_001fae18;\n            bVar43 = true;\n            dVar6 = 1.0;\n          }\n          else {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 100;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = _DAT_001faf38 * dVar6;\n            } while (_DAT_001faf38 * dVar6 <= dVar44 && (int)uVar22 < 0x15f);\n            dVar5 = dVar6 * (double)_DAT_001fae18;\n          }\n          if ((dVar5 <= dVar44) && (bVar43)) {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 10;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = dVar6 * (double)_DAT_001fae18;\n            } while (dVar6 * (double)_DAT_001fae18 <= dVar44 && bVar43);\n          }\n          dVar5 = (double)_DAT_001fae10;\n          if ((dVar6 * dVar5 <= dVar44) && (dVar9 = dVar6 * dVar5, bVar43)) {\n            do {\n              dVar6 = dVar9;\n              uVar22 = (int)uVar18 + 1;\n              uVar18 = (ulong)uVar22;\n              dVar9 = dVar6 * dVar5;\n            } while ((int)uVar22 < 0x15f && dVar6 * dVar5 <= dVar44);\n          }\n          for (dVar44 = dVar44 / dVar6; dVar44 < _DAT_001faf48;\n              dVar44 = dVar44 * (double)_DAT_001fae1c) {\n            uVar18 = (ulong)((int)uVar18 - 8);\n          }\n          for (; dVar44 < 1.0; dVar44 = dVar44 * dVar5) {\n            uVar18 = (ulong)((int)uVar18 - 1);\n          }\n          if (0x15e < (int)uVar18) {\n            pbVar41 = (byte *)buf;\n            pbVar15 = pbVar41 + (bVar10 != 0);\n            buf[0] = bVar10;\n            pbVar15[0] = 0x49;\n            pbVar15[1] = 0x6e;\n            pbVar15[2] = 0x66;\n            pbVar15[3] = 0;\n            if (bVar10 == 0) {\n              uVar36 = uVar36 - 3;\n              uVar22 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              uVar36 = uVar36 - 4;\n              uVar22 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar18;\n        local_b5 = bVar27;\n        if (eVar37 == '\x01') {\n          iVar12 = 0;\n          if (-1 < local_c8) {\n            iVar12 = local_c8;\n          }\n          lVar34 = (long)iVar12;\n        }\n        else {\n          dVar44 = dVar45 + dVar44;\n          if ((double)_DAT_001fae10 <= dVar44) {\n            dVar44 = dVar44 * DAT_001faf40;\n            uVar18 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar18;\n          if (eVar37 == '\x03') {\n            local_b5 = bVar39 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar13 < local_c8)) {\n              lVar34 = 0;\n              eVar37 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar13 = uVar13 - local_c8;\n              iVar12 = 0;\n              if (-1 < local_c8) {\n                iVar12 = local_c8;\n              }\n              eVar37 = '\x01';\n              lVar34 = (long)iVar12;\n            }\n          }\n          else if (eVar37 == '\x02') {\n            lVar34 = 0;\n            local_c8 = 0;\n          }\n          else {\n            eVar37 = '\x01';\n            iVar12 = 0;\n            if (-1 < local_c8) {\n              iVar12 = local_c8;\n            }\n            lVar34 = (long)iVar12;\n          }\n        }\n        lVar29 = (long)(int)uVar36;\n        lVar34 = lVar34 + (int)uVar13 + 0xf + lVar29;\n        if (lVar34 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar41 = (byte *)buf;\n        }\n        else {\n          pbVar41 = (byte *)printfTempBuf(pAccum,lVar34);\n          local_e0 = pbVar41;\n          if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar12 = (uint)bVar27 * 10 + 0x10;\n        bVar43 = 0 < (int)uVar13;\n        pbVar26 = pbVar41;\n        pbVar15 = pbVar41 + 1;\n        if (bVar10 != 0) {\n          *pbVar41 = bVar10;\n          pbVar15 = pbVar41 + 2;\n          pbVar26 = pbVar41 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar26 = 0x30;\n          uVar22 = local_c8 + 1;\n          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar26 = pbVar15 + 1;\n            *pbVar15 = 0x2e;\n            pbVar15 = pbVar26;\n            if (uVar22 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar26 = pbVar15;\n            do {\n              pbVar20 = pbVar26 + 1;\n              *pbVar26 = 0x30;\n              pbVar26 = pbVar20;\n            } while (pbVar20 != pbVar15 + (ulong)~uVar22 + 1);\n            uVar13 = (uVar13 - 1) + local_c8 + 2;\n            pbVar15 = pbVar15 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar13) {\n              pbVar26 = pbVar15;\n              do {\n                while (pbVar20 = pbVar26 + 1, 0 < iVar12) {\n                  iVar12 = iVar12 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar44);\n                  *pbVar26 = (char)local_c8 + 0x30;\n                  dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n                  pbVar26 = pbVar20;\n                  if (pbVar20 == pbVar15 + (ulong)(uVar13 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar26 = 0x30;\n                pbVar26 = pbVar20;\n              } while (pbVar20 != pbVar15 + (ulong)(uVar13 - 1) + 1);\nLAB_0013ee39:\n              pbVar15 = pbVar15 + (ulong)(uVar13 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar22 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar15 = pbVar26 + (long)local_c8 + 1;\n          do {\n            while (pbVar20 = pbVar26, pbVar26 = pbVar20 + 1, 0 < iVar12) {\n              iVar12 = iVar12 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar44);\n              *pbVar20 = (char)local_c8 + 0x30;\n              dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n              if (pbVar26 == pbVar15) goto LAB_0013fe8d;\n            }\n            *pbVar20 = 0x30;\n          } while (pbVar26 != pbVar15);\nLAB_0013fe8d:\n          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar15 = pbVar20 + 2;\n            *pbVar26 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar43 || (bVar39 != 0 || bVar27 != 0))) {\n            while (pbVar15[-1] == 0x30) {\n              pbVar15 = pbVar15 + -1;\n              *pbVar15 = 0;\n            }\n            if (pbVar15[-1] == 0x2e) {\n              if (bVar27 == 0) {\n                pbVar15[-1] = 0;\n                pbVar15 = pbVar15 + -1;\n              }\n              else {\n                *pbVar15 = 0x30;\n                pbVar15 = pbVar15 + 1;\n              }\n            }\n          }\n        }\n        if (eVar37 == '\x02') {\n          pbVar26 = pbVar15 + 2;\n          *pbVar15 = "0123456789ABCDEF0123456789abcdef"[fmtinfo[iVar31].charset];\n          bVar27 = 0x2b;\n          if ((int)uVar18 < 0) {\n            uVar18 = (ulong)(uint)-(int)uVar18;\n            bVar27 = 0x2d;\n          }\n          pbVar15[1] = bVar27;\n          if (99 < (int)uVar18) {\n            pbVar26 = pbVar15 + 3;\n            pbVar15[2] = (char)(uVar18 / 100) + 0x30;\n            uVar18 = (ulong)(uint)((int)uVar18 + (int)(uVar18 / 100) * -100);\n          }\n          pbVar15 = pbVar26 + 2;\n          cVar21 = (char)(uVar18 / 10);\n          *pbVar26 = cVar21 + 0x30;\n          pbVar26[1] = (char)uVar18 + cVar21 * -10 + 0x30;\n        }\n        *pbVar15 = 0;\n        uVar22 = (int)pbVar15 - (int)pbVar41;\n        if (!(bool)(bVar42 & (bVar7 ^ 1U))) {\n          uVar36 = uVar36 - uVar22;\n          goto LAB_0013f018;\n        }\n        if ((int)uVar22 < (int)uVar36) {\n          iVar12 = uVar36 - uVar22;\n          if (iVar12 <= (int)uVar36) {\n            do {\n              pbVar41[lVar29] = pbVar41[lVar29 - iVar12];\n              lVar29 = lVar29 + -1;\n            } while (iVar12 <= (int)lVar29);\n          }\n          pbVar15 = pbVar41 + (bVar10 != 0);\n          do {\n            *pbVar15 = 0x30;\n            pbVar15 = pbVar15 + 1;\n            uVar22 = uVar36;\n          } while (pbVar41 + (ulong)(iVar12 - 1) + (ulong)(bVar10 != 0) + 1 != pbVar15);\n        }\n        goto LAB_0013fd63;" case (char_literal "'\x03'" ' escape_sequence ') : (if_statement "if (local_b6 == 0) {\n          uVar22 = ap->fp_offset;\n          if (uVar22 < 0xb0) {\n            ap->fp_offset = uVar22 + 0x10;\n            dVar44 = *(double *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            pdVar3 = (double *)ap->overflow_arg_area;\n            ap->overflow_arg_area = pdVar3 + 1;\n            dVar44 = *pdVar3;\n          }\n          if (uVar13 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar43 = 0 < (int)uVar13;\n        }\n        else {\n          iVar12 = local_d8->nUsed;\n          if (iVar12 < local_d8->nArg) {\n            local_d8->nUsed = iVar12 + 1;\n            dVar44 = sqlite3_value_double(local_d8->apArg[iVar12]);\n          }\n          else {\n            dVar44 = 0.0;\n          }\n          if (uVar13 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar43 = true;\n          uVar13 = 6;\n        }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar22 = ap->fp_offset;\n          if (uVar22 < 0xb0) {\n            ap->fp_offset = uVar22 + 0x10;\n            dVar44 = *(double *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            pdVar3 = (double *)ap->overflow_arg_area;\n            ap->overflow_arg_area = pdVar3 + 1;\n            dVar44 = *pdVar3;\n          }\n          if (uVar13 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar43 = 0 < (int)uVar13;\n        }" { (expression_statement "uVar22 = ap->fp_offset;" (assignment_expression "uVar22 = ap->fp_offset" identifier = (field_expression "ap->fp_offset" identifier -> field_identifier)) ;) (if_statement "if (uVar22 < 0xb0) {\n            ap->fp_offset = uVar22 + 0x10;\n            dVar44 = *(double *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            pdVar3 = (double *)ap->overflow_arg_area;\n            ap->overflow_arg_area = pdVar3 + 1;\n            dVar44 = *pdVar3;\n          }" if (parenthesized_expression "(uVar22 < 0xb0)" ( (binary_expression "uVar22 < 0xb0" identifier < number_literal) )) (compound_statement "{\n            ap->fp_offset = uVar22 + 0x10;\n            dVar44 = *(double *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }" { (expression_statement "ap->fp_offset = uVar22 + 0x10;" (assignment_expression "ap->fp_offset = uVar22 + 0x10" (field_expression "ap->fp_offset" identifier -> field_identifier) = (binary_expression "uVar22 + 0x10" identifier + number_literal)) ;) (expression_statement "dVar44 = *(double *)((ulong)uVar22 + (long)ap->reg_save_area);" (assignment_expression "dVar44 = *(double *)((ulong)uVar22 + (long)ap->reg_save_area)" identifier = (pointer_expression "*(double *)((ulong)uVar22 + (long)ap->reg_save_area)" * (cast_expression "(double *)((ulong)uVar22 + (long)ap->reg_save_area)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar22 + (long)ap->reg_save_area)" ( (binary_expression "(ulong)uVar22 + (long)ap->reg_save_area" (cast_expression "(ulong)uVar22" ( (type_descriptor "ulong" type_identifier) ) identifier) + (cast_expression "(long)ap->reg_save_area" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "ap->reg_save_area" identifier -> field_identifier))) ))))) ;) }) (else_clause "else {\n            pdVar3 = (double *)ap->overflow_arg_area;\n            ap->overflow_arg_area = pdVar3 + 1;\n            dVar44 = *pdVar3;\n          }" else (compound_statement "{\n            pdVar3 = (double *)ap->overflow_arg_area;\n            ap->overflow_arg_area = pdVar3 + 1;\n            dVar44 = *pdVar3;\n          }" { (expression_statement "pdVar3 = (double *)ap->overflow_arg_area;" (assignment_expression "pdVar3 = (double *)ap->overflow_arg_area" identifier = (cast_expression "(double *)ap->overflow_arg_area" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "ap->overflow_arg_area" identifier -> field_identifier))) ;) (expression_statement "ap->overflow_arg_area = pdVar3 + 1;" (assignment_expression "ap->overflow_arg_area = pdVar3 + 1" (field_expression "ap->overflow_arg_area" identifier -> field_identifier) = (binary_expression "pdVar3 + 1" identifier + number_literal)) ;) (expression_statement "dVar44 = *pdVar3;" (assignment_expression "dVar44 = *pdVar3" identifier = (pointer_expression "*pdVar3" * identifier)) ;) }))) (if_statement "if (uVar13 == 0xffffffff) goto LAB_0013ec1b;" if (parenthesized_expression "(uVar13 == 0xffffffff)" ( (binary_expression "uVar13 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_0013ec1b;" goto statement_identifier ;)) (labeled_statement "LAB_0013fb0a:\n          bVar43 = 0 < (int)uVar13;" statement_identifier : (expression_statement "bVar43 = 0 < (int)uVar13;" (assignment_expression "bVar43 = 0 < (int)uVar13" identifier = (binary_expression "0 < (int)uVar13" number_literal < (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) }) (else_clause "else {\n          iVar12 = local_d8->nUsed;\n          if (iVar12 < local_d8->nArg) {\n            local_d8->nUsed = iVar12 + 1;\n            dVar44 = sqlite3_value_double(local_d8->apArg[iVar12]);\n          }\n          else {\n            dVar44 = 0.0;\n          }\n          if (uVar13 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar43 = true;\n          uVar13 = 6;\n        }" else (compound_statement "{\n          iVar12 = local_d8->nUsed;\n          if (iVar12 < local_d8->nArg) {\n            local_d8->nUsed = iVar12 + 1;\n            dVar44 = sqlite3_value_double(local_d8->apArg[iVar12]);\n          }\n          else {\n            dVar44 = 0.0;\n          }\n          if (uVar13 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar43 = true;\n          uVar13 = 6;\n        }" { (expression_statement "iVar12 = local_d8->nUsed;" (assignment_expression "iVar12 = local_d8->nUsed" identifier = (field_expression "local_d8->nUsed" identifier -> field_identifier)) ;) (if_statement "if (iVar12 < local_d8->nArg) {\n            local_d8->nUsed = iVar12 + 1;\n            dVar44 = sqlite3_value_double(local_d8->apArg[iVar12]);\n          }\n          else {\n            dVar44 = 0.0;\n          }" if (parenthesized_expression "(iVar12 < local_d8->nArg)" ( (binary_expression "iVar12 < local_d8->nArg" identifier < (field_expression "local_d8->nArg" identifier -> field_identifier)) )) (compound_statement "{\n            local_d8->nUsed = iVar12 + 1;\n            dVar44 = sqlite3_value_double(local_d8->apArg[iVar12]);\n          }" { (expression_statement "local_d8->nUsed = iVar12 + 1;" (assignment_expression "local_d8->nUsed = iVar12 + 1" (field_expression "local_d8->nUsed" identifier -> field_identifier) = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (expression_statement "dVar44 = sqlite3_value_double(local_d8->apArg[iVar12]);" (assignment_expression "dVar44 = sqlite3_value_double(local_d8->apArg[iVar12])" identifier = (call_expression "sqlite3_value_double(local_d8->apArg[iVar12])" identifier (argument_list "(local_d8->apArg[iVar12])" ( (subscript_expression "local_d8->apArg[iVar12]" (field_expression "local_d8->apArg" identifier -> field_identifier) [ identifier ]) )))) ;) }) (else_clause "else {\n            dVar44 = 0.0;\n          }" else (compound_statement "{\n            dVar44 = 0.0;\n          }" { (expression_statement "dVar44 = 0.0;" (assignment_expression "dVar44 = 0.0" identifier = number_literal) ;) }))) (if_statement "if (uVar13 != 0xffffffff) goto LAB_0013fb0a;" if (parenthesized_expression "(uVar13 != 0xffffffff)" ( (binary_expression "uVar13 != 0xffffffff" identifier != number_literal) )) (goto_statement "goto LAB_0013fb0a;" goto statement_identifier ;)) (labeled_statement "LAB_0013ec1b:\n          bVar43 = true;" statement_identifier : (expression_statement "bVar43 = true;" (assignment_expression "bVar43 = true" identifier = true) ;)) (expression_statement "uVar13 = 6;" (assignment_expression "uVar13 = 6" identifier = number_literal) ;) }))) (if_statement "if (dVar44 < 0.0) {\n          dVar44 = -dVar44;\n          bVar10 = 0x2d;\n        }" if (parenthesized_expression "(dVar44 < 0.0)" ( (binary_expression "dVar44 < 0.0" identifier < number_literal) )) (compound_statement "{\n          dVar44 = -dVar44;\n          bVar10 = 0x2d;\n        }" { (expression_statement "dVar44 = -dVar44;" (assignment_expression "dVar44 = -dVar44" identifier = (unary_expression "-dVar44" - identifier)) ;) (expression_statement "bVar10 = 0x2d;" (assignment_expression "bVar10 = 0x2d" identifier = number_literal) ;) })) (expression_statement "dVar45 = DAT_001fae78;" (assignment_expression "dVar45 = DAT_001fae78" identifier = identifier) ;) (if_statement "if ((eVar37 != '\x03') || (!bVar43)) {\n          uVar22 = uVar13 & 0xfff;\n          goto joined_r0x0013ec49;\n        }" if (parenthesized_expression "((eVar37 != '\x03') || (!bVar43))" ( (binary_expression "(eVar37 != '\x03') || (!bVar43)" (parenthesized_expression "(eVar37 != '\x03')" ( (binary_expression "eVar37 != '\x03'" identifier != (char_literal "'\x03'" ' escape_sequence ')) )) || (parenthesized_expression "(!bVar43)" ( (unary_expression "!bVar43" ! identifier) ))) )) (compound_statement "{\n          uVar22 = uVar13 & 0xfff;\n          goto joined_r0x0013ec49;\n        }" { (expression_statement "uVar22 = uVar13 & 0xfff;" (assignment_expression "uVar22 = uVar13 & 0xfff" identifier = (binary_expression "uVar13 & 0xfff" identifier & number_literal)) ;) (goto_statement "goto joined_r0x0013ec49;" goto statement_identifier ;) })) (expression_statement "uVar13 = uVar13 - 1;" (assignment_expression "uVar13 = uVar13 - 1" identifier = (binary_expression "uVar13 - 1" identifier - number_literal)) ;) (expression_statement "uVar22 = uVar13 & 0xfff;" (assignment_expression "uVar22 = uVar13 & 0xfff" identifier = (binary_expression "uVar13 & 0xfff" identifier & number_literal)) ;) (if_statement "if (uVar22 != 0) {\n          do {\n            dVar45 = dVar45 * DAT_001faf40;\n            uVar22 = uVar22 - 1;\njoined_r0x0013ec49:\n          } while (uVar22 != 0);\n          if (eVar37 == '\x01') {\n            dVar44 = dVar45 + dVar44;\n          }\n        }" if (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) (compound_statement "{\n          do {\n            dVar45 = dVar45 * DAT_001faf40;\n            uVar22 = uVar22 - 1;\njoined_r0x0013ec49:\n          } while (uVar22 != 0);\n          if (eVar37 == '\x01') {\n            dVar44 = dVar45 + dVar44;\n          }\n        }" { (do_statement "do {\n            dVar45 = dVar45 * DAT_001faf40;\n            uVar22 = uVar22 - 1;\njoined_r0x0013ec49:\n          } while (uVar22 != 0);" do (compound_statement "{\n            dVar45 = dVar45 * DAT_001faf40;\n            uVar22 = uVar22 - 1;\njoined_r0x0013ec49:\n          }" { (expression_statement "dVar45 = dVar45 * DAT_001faf40;" (assignment_expression "dVar45 = dVar45 * DAT_001faf40" identifier = (binary_expression "dVar45 * DAT_001faf40" identifier * identifier)) ;) (expression_statement "uVar22 = uVar22 - 1;" (assignment_expression "uVar22 = uVar22 - 1" identifier = (binary_expression "uVar22 - 1" identifier - number_literal)) ;) (labeled_statement "joined_r0x0013ec49:" statement_identifier : (expression_statement "" ;)) }) while (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) ;) (if_statement "if (eVar37 == '\x01') {\n            dVar44 = dVar45 + dVar44;\n          }" if (parenthesized_expression "(eVar37 == '\x01')" ( (binary_expression "eVar37 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n            dVar44 = dVar45 + dVar44;\n          }" { (expression_statement "dVar44 = dVar45 + dVar44;" (assignment_expression "dVar44 = dVar45 + dVar44" identifier = (binary_expression "dVar45 + dVar44" identifier + identifier)) ;) })) })) (if_statement "if (NAN(dVar44)) {\n          uVar36 = uVar36 - 3;\n          uVar22 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar41 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }" if (parenthesized_expression "(NAN(dVar44))" ( (call_expression "NAN(dVar44)" identifier (argument_list "(dVar44)" ( identifier ))) )) (compound_statement "{\n          uVar36 = uVar36 - 3;\n          uVar22 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar41 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }" { (expression_statement "uVar36 = uVar36 - 3;" (assignment_expression "uVar36 = uVar36 - 3" identifier = (binary_expression "uVar36 - 3" identifier - number_literal)) ;) (expression_statement "uVar22 = 3;" (assignment_expression "uVar22 = 3" identifier = number_literal) ;) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar41 = &DAT_001e98fc;" (assignment_expression "pbVar41 = &DAT_001e98fc" identifier = (pointer_expression "&DAT_001e98fc" & identifier)) ;) (goto_statement "goto LAB_0013f018;" goto statement_identifier ;) })) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < dVar44) {\n          dVar5 = _DAT_001faf38;\n          if (dVar44 < _DAT_001faf38) {\n            dVar5 = (double)_DAT_001fae18;\n            bVar43 = true;\n            dVar6 = 1.0;\n          }\n          else {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 100;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = _DAT_001faf38 * dVar6;\n            } while (_DAT_001faf38 * dVar6 <= dVar44 && (int)uVar22 < 0x15f);\n            dVar5 = dVar6 * (double)_DAT_001fae18;\n          }\n          if ((dVar5 <= dVar44) && (bVar43)) {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 10;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = dVar6 * (double)_DAT_001fae18;\n            } while (dVar6 * (double)_DAT_001fae18 <= dVar44 && bVar43);\n          }\n          dVar5 = (double)_DAT_001fae10;\n          if ((dVar6 * dVar5 <= dVar44) && (dVar9 = dVar6 * dVar5, bVar43)) {\n            do {\n              dVar6 = dVar9;\n              uVar22 = (int)uVar18 + 1;\n              uVar18 = (ulong)uVar22;\n              dVar9 = dVar6 * dVar5;\n            } while ((int)uVar22 < 0x15f && dVar6 * dVar5 <= dVar44);\n          }\n          for (dVar44 = dVar44 / dVar6; dVar44 < _DAT_001faf48;\n              dVar44 = dVar44 * (double)_DAT_001fae1c) {\n            uVar18 = (ulong)((int)uVar18 - 8);\n          }\n          for (; dVar44 < 1.0; dVar44 = dVar44 * dVar5) {\n            uVar18 = (ulong)((int)uVar18 - 1);\n          }\n          if (0x15e < (int)uVar18) {\n            pbVar41 = (byte *)buf;\n            pbVar15 = pbVar41 + (bVar10 != 0);\n            buf[0] = bVar10;\n            pbVar15[0] = 0x49;\n            pbVar15[1] = 0x6e;\n            pbVar15[2] = 0x66;\n            pbVar15[3] = 0;\n            if (bVar10 == 0) {\n              uVar36 = uVar36 - 3;\n              uVar22 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              uVar36 = uVar36 - 4;\n              uVar22 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }" if (parenthesized_expression "(0.0 < dVar44)" ( (binary_expression "0.0 < dVar44" number_literal < identifier) )) (compound_statement "{\n          dVar5 = _DAT_001faf38;\n          if (dVar44 < _DAT_001faf38) {\n            dVar5 = (double)_DAT_001fae18;\n            bVar43 = true;\n            dVar6 = 1.0;\n          }\n          else {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 100;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = _DAT_001faf38 * dVar6;\n            } while (_DAT_001faf38 * dVar6 <= dVar44 && (int)uVar22 < 0x15f);\n            dVar5 = dVar6 * (double)_DAT_001fae18;\n          }\n          if ((dVar5 <= dVar44) && (bVar43)) {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 10;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = dVar6 * (double)_DAT_001fae18;\n            } while (dVar6 * (double)_DAT_001fae18 <= dVar44 && bVar43);\n          }\n          dVar5 = (double)_DAT_001fae10;\n          if ((dVar6 * dVar5 <= dVar44) && (dVar9 = dVar6 * dVar5, bVar43)) {\n            do {\n              dVar6 = dVar9;\n              uVar22 = (int)uVar18 + 1;\n              uVar18 = (ulong)uVar22;\n              dVar9 = dVar6 * dVar5;\n            } while ((int)uVar22 < 0x15f && dVar6 * dVar5 <= dVar44);\n          }\n          for (dVar44 = dVar44 / dVar6; dVar44 < _DAT_001faf48;\n              dVar44 = dVar44 * (double)_DAT_001fae1c) {\n            uVar18 = (ulong)((int)uVar18 - 8);\n          }\n          for (; dVar44 < 1.0; dVar44 = dVar44 * dVar5) {\n            uVar18 = (ulong)((int)uVar18 - 1);\n          }\n          if (0x15e < (int)uVar18) {\n            pbVar41 = (byte *)buf;\n            pbVar15 = pbVar41 + (bVar10 != 0);\n            buf[0] = bVar10;\n            pbVar15[0] = 0x49;\n            pbVar15[1] = 0x6e;\n            pbVar15[2] = 0x66;\n            pbVar15[3] = 0;\n            if (bVar10 == 0) {\n              uVar36 = uVar36 - 3;\n              uVar22 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              uVar36 = uVar36 - 4;\n              uVar22 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }" { (expression_statement "dVar5 = _DAT_001faf38;" (assignment_expression "dVar5 = _DAT_001faf38" identifier = identifier) ;) (if_statement "if (dVar44 < _DAT_001faf38) {\n            dVar5 = (double)_DAT_001fae18;\n            bVar43 = true;\n            dVar6 = 1.0;\n          }\n          else {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 100;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = _DAT_001faf38 * dVar6;\n            } while (_DAT_001faf38 * dVar6 <= dVar44 && (int)uVar22 < 0x15f);\n            dVar5 = dVar6 * (double)_DAT_001fae18;\n          }" if (parenthesized_expression "(dVar44 < _DAT_001faf38)" ( (binary_expression "dVar44 < _DAT_001faf38" identifier < identifier) )) (compound_statement "{\n            dVar5 = (double)_DAT_001fae18;\n            bVar43 = true;\n            dVar6 = 1.0;\n          }" { (expression_statement "dVar5 = (double)_DAT_001fae18;" (assignment_expression "dVar5 = (double)_DAT_001fae18" identifier = (cast_expression "(double)_DAT_001fae18" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "bVar43 = true;" (assignment_expression "bVar43 = true" identifier = true) ;) (expression_statement "dVar6 = 1.0;" (assignment_expression "dVar6 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 100;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = _DAT_001faf38 * dVar6;\n            } while (_DAT_001faf38 * dVar6 <= dVar44 && (int)uVar22 < 0x15f);\n            dVar5 = dVar6 * (double)_DAT_001fae18;\n          }" else (compound_statement "{\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 100;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = _DAT_001faf38 * dVar6;\n            } while (_DAT_001faf38 * dVar6 <= dVar44 && (int)uVar22 < 0x15f);\n            dVar5 = dVar6 * (double)_DAT_001fae18;\n          }" { (do_statement "do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 100;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = _DAT_001faf38 * dVar6;\n            } while (_DAT_001faf38 * dVar6 <= dVar44 && (int)uVar22 < 0x15f);" do (compound_statement "{\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 100;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = _DAT_001faf38 * dVar6;\n            }" { (expression_statement "dVar6 = dVar5;" (assignment_expression "dVar6 = dVar5" identifier = identifier) ;) (expression_statement "uVar22 = (int)uVar18 + 100;" (assignment_expression "uVar22 = (int)uVar18 + 100" identifier = (binary_expression "(int)uVar18 + 100" (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar18 = (ulong)uVar22;" (assignment_expression "uVar18 = (ulong)uVar22" identifier = (cast_expression "(ulong)uVar22" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "bVar43 = (int)uVar22 < 0x15f;" (assignment_expression "bVar43 = (int)uVar22 < 0x15f" identifier = (binary_expression "(int)uVar22 < 0x15f" (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ;) (expression_statement "dVar5 = _DAT_001faf38 * dVar6;" (assignment_expression "dVar5 = _DAT_001faf38 * dVar6" identifier = (binary_expression "_DAT_001faf38 * dVar6" identifier * identifier)) ;) }) while (parenthesized_expression "(_DAT_001faf38 * dVar6 <= dVar44 && (int)uVar22 < 0x15f)" ( (binary_expression "_DAT_001faf38 * dVar6 <= dVar44 && (int)uVar22 < 0x15f" (binary_expression "_DAT_001faf38 * dVar6 <= dVar44" (binary_expression "_DAT_001faf38 * dVar6" identifier * identifier) <= identifier) && (binary_expression "(int)uVar22 < 0x15f" (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) )) ;) (expression_statement "dVar5 = dVar6 * (double)_DAT_001fae18;" (assignment_expression "dVar5 = dVar6 * (double)_DAT_001fae18" identifier = (binary_expression "dVar6 * (double)_DAT_001fae18" identifier * (cast_expression "(double)_DAT_001fae18" ( (type_descriptor "double" primitive_type) ) identifier))) ;) }))) (if_statement "if ((dVar5 <= dVar44) && (bVar43)) {\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 10;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = dVar6 * (double)_DAT_001fae18;\n            } while (dVar6 * (double)_DAT_001fae18 <= dVar44 && bVar43);\n          }" if (parenthesized_expression "((dVar5 <= dVar44) && (bVar43))" ( (binary_expression "(dVar5 <= dVar44) && (bVar43)" (parenthesized_expression "(dVar5 <= dVar44)" ( (binary_expression "dVar5 <= dVar44" identifier <= identifier) )) && (parenthesized_expression "(bVar43)" ( identifier ))) )) (compound_statement "{\n            do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 10;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = dVar6 * (double)_DAT_001fae18;\n            } while (dVar6 * (double)_DAT_001fae18 <= dVar44 && bVar43);\n          }" { (do_statement "do {\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 10;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = dVar6 * (double)_DAT_001fae18;\n            } while (dVar6 * (double)_DAT_001fae18 <= dVar44 && bVar43);" do (compound_statement "{\n              dVar6 = dVar5;\n              uVar22 = (int)uVar18 + 10;\n              uVar18 = (ulong)uVar22;\n              bVar43 = (int)uVar22 < 0x15f;\n              dVar5 = dVar6 * (double)_DAT_001fae18;\n            }" { (expression_statement "dVar6 = dVar5;" (assignment_expression "dVar6 = dVar5" identifier = identifier) ;) (expression_statement "uVar22 = (int)uVar18 + 10;" (assignment_expression "uVar22 = (int)uVar18 + 10" identifier = (binary_expression "(int)uVar18 + 10" (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar18 = (ulong)uVar22;" (assignment_expression "uVar18 = (ulong)uVar22" identifier = (cast_expression "(ulong)uVar22" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "bVar43 = (int)uVar22 < 0x15f;" (assignment_expression "bVar43 = (int)uVar22 < 0x15f" identifier = (binary_expression "(int)uVar22 < 0x15f" (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ;) (expression_statement "dVar5 = dVar6 * (double)_DAT_001fae18;" (assignment_expression "dVar5 = dVar6 * (double)_DAT_001fae18" identifier = (binary_expression "dVar6 * (double)_DAT_001fae18" identifier * (cast_expression "(double)_DAT_001fae18" ( (type_descriptor "double" primitive_type) ) identifier))) ;) }) while (parenthesized_expression "(dVar6 * (double)_DAT_001fae18 <= dVar44 && bVar43)" ( (binary_expression "dVar6 * (double)_DAT_001fae18 <= dVar44 && bVar43" (binary_expression "dVar6 * (double)_DAT_001fae18 <= dVar44" (binary_expression "dVar6 * (double)_DAT_001fae18" identifier * (cast_expression "(double)_DAT_001fae18" ( (type_descriptor "double" primitive_type) ) identifier)) <= identifier) && identifier) )) ;) })) (expression_statement "dVar5 = (double)_DAT_001fae10;" (assignment_expression "dVar5 = (double)_DAT_001fae10" identifier = (cast_expression "(double)_DAT_001fae10" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (if_statement "if ((dVar6 * dVar5 <= dVar44) && (dVar9 = dVar6 * dVar5, bVar43)) {\n            do {\n              dVar6 = dVar9;\n              uVar22 = (int)uVar18 + 1;\n              uVar18 = (ulong)uVar22;\n              dVar9 = dVar6 * dVar5;\n            } while ((int)uVar22 < 0x15f && dVar6 * dVar5 <= dVar44);\n          }" if (parenthesized_expression "((dVar6 * dVar5 <= dVar44) && (dVar9 = dVar6 * dVar5, bVar43))" ( (binary_expression "(dVar6 * dVar5 <= dVar44) && (dVar9 = dVar6 * dVar5, bVar43)" (parenthesized_expression "(dVar6 * dVar5 <= dVar44)" ( (binary_expression "dVar6 * dVar5 <= dVar44" (binary_expression "dVar6 * dVar5" identifier * identifier) <= identifier) )) && (parenthesized_expression "(dVar9 = dVar6 * dVar5, bVar43)" ( (comma_expression "dVar9 = dVar6 * dVar5, bVar43" (assignment_expression "dVar9 = dVar6 * dVar5" identifier = (binary_expression "dVar6 * dVar5" identifier * identifier)) , identifier) ))) )) (compound_statement "{\n            do {\n              dVar6 = dVar9;\n              uVar22 = (int)uVar18 + 1;\n              uVar18 = (ulong)uVar22;\n              dVar9 = dVar6 * dVar5;\n            } while ((int)uVar22 < 0x15f && dVar6 * dVar5 <= dVar44);\n          }" { (do_statement "do {\n              dVar6 = dVar9;\n              uVar22 = (int)uVar18 + 1;\n              uVar18 = (ulong)uVar22;\n              dVar9 = dVar6 * dVar5;\n            } while ((int)uVar22 < 0x15f && dVar6 * dVar5 <= dVar44);" do (compound_statement "{\n              dVar6 = dVar9;\n              uVar22 = (int)uVar18 + 1;\n              uVar18 = (ulong)uVar22;\n              dVar9 = dVar6 * dVar5;\n            }" { (expression_statement "dVar6 = dVar9;" (assignment_expression "dVar6 = dVar9" identifier = identifier) ;) (expression_statement "uVar22 = (int)uVar18 + 1;" (assignment_expression "uVar22 = (int)uVar18 + 1" identifier = (binary_expression "(int)uVar18 + 1" (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar18 = (ulong)uVar22;" (assignment_expression "uVar18 = (ulong)uVar22" identifier = (cast_expression "(ulong)uVar22" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "dVar9 = dVar6 * dVar5;" (assignment_expression "dVar9 = dVar6 * dVar5" identifier = (binary_expression "dVar6 * dVar5" identifier * identifier)) ;) }) while (parenthesized_expression "((int)uVar22 < 0x15f && dVar6 * dVar5 <= dVar44)" ( (binary_expression "(int)uVar22 < 0x15f && dVar6 * dVar5 <= dVar44" (binary_expression "(int)uVar22 < 0x15f" (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) && (binary_expression "dVar6 * dVar5 <= dVar44" (binary_expression "dVar6 * dVar5" identifier * identifier) <= identifier)) )) ;) })) (for_statement "for (dVar44 = dVar44 / dVar6; dVar44 < _DAT_001faf48;\n              dVar44 = dVar44 * (double)_DAT_001fae1c) {\n            uVar18 = (ulong)((int)uVar18 - 8);\n          }" for ( (assignment_expression "dVar44 = dVar44 / dVar6" identifier = (binary_expression "dVar44 / dVar6" identifier / identifier)) ; (binary_expression "dVar44 < _DAT_001faf48" identifier < identifier) ; (assignment_expression "dVar44 = dVar44 * (double)_DAT_001fae1c" identifier = (binary_expression "dVar44 * (double)_DAT_001fae1c" identifier * (cast_expression "(double)_DAT_001fae1c" ( (type_descriptor "double" primitive_type) ) identifier))) ) (compound_statement "{\n            uVar18 = (ulong)((int)uVar18 - 8);\n          }" { (expression_statement "uVar18 = (ulong)((int)uVar18 - 8);" (assignment_expression "uVar18 = (ulong)((int)uVar18 - 8)" identifier = (call_expression "(ulong)((int)uVar18 - 8)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((int)uVar18 - 8)" ( (binary_expression "(int)uVar18 - 8" (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) )))) ;) })) (for_statement "for (; dVar44 < 1.0; dVar44 = dVar44 * dVar5) {\n            uVar18 = (ulong)((int)uVar18 - 1);\n          }" for ( ; (binary_expression "dVar44 < 1.0" identifier < number_literal) ; (assignment_expression "dVar44 = dVar44 * dVar5" identifier = (binary_expression "dVar44 * dVar5" identifier * identifier)) ) (compound_statement "{\n            uVar18 = (ulong)((int)uVar18 - 1);\n          }" { (expression_statement "uVar18 = (ulong)((int)uVar18 - 1);" (assignment_expression "uVar18 = (ulong)((int)uVar18 - 1)" identifier = (call_expression "(ulong)((int)uVar18 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((int)uVar18 - 1)" ( (binary_expression "(int)uVar18 - 1" (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) )))) ;) })) (if_statement "if (0x15e < (int)uVar18) {\n            pbVar41 = (byte *)buf;\n            pbVar15 = pbVar41 + (bVar10 != 0);\n            buf[0] = bVar10;\n            pbVar15[0] = 0x49;\n            pbVar15[1] = 0x6e;\n            pbVar15[2] = 0x66;\n            pbVar15[3] = 0;\n            if (bVar10 == 0) {\n              uVar36 = uVar36 - 3;\n              uVar22 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              uVar36 = uVar36 - 4;\n              uVar22 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }" if (parenthesized_expression "(0x15e < (int)uVar18)" ( (binary_expression "0x15e < (int)uVar18" number_literal < (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            pbVar41 = (byte *)buf;\n            pbVar15 = pbVar41 + (bVar10 != 0);\n            buf[0] = bVar10;\n            pbVar15[0] = 0x49;\n            pbVar15[1] = 0x6e;\n            pbVar15[2] = 0x66;\n            pbVar15[3] = 0;\n            if (bVar10 == 0) {\n              uVar36 = uVar36 - 3;\n              uVar22 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              uVar36 = uVar36 - 4;\n              uVar22 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }" { (expression_statement "pbVar41 = (byte *)buf;" (assignment_expression "pbVar41 = (byte *)buf" identifier = (cast_expression "(byte *)buf" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar15 = pbVar41 + (bVar10 != 0);" (assignment_expression "pbVar15 = pbVar41 + (bVar10 != 0)" identifier = (binary_expression "pbVar41 + (bVar10 != 0)" identifier + (parenthesized_expression "(bVar10 != 0)" ( (binary_expression "bVar10 != 0" identifier != number_literal) )))) ;) (expression_statement "buf[0] = bVar10;" (assignment_expression "buf[0] = bVar10" (subscript_expression "buf[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar15[0] = 0x49;" (assignment_expression "pbVar15[0] = 0x49" (subscript_expression "pbVar15[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar15[1] = 0x6e;" (assignment_expression "pbVar15[1] = 0x6e" (subscript_expression "pbVar15[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar15[2] = 0x66;" (assignment_expression "pbVar15[2] = 0x66" (subscript_expression "pbVar15[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar15[3] = 0;" (assignment_expression "pbVar15[3] = 0" (subscript_expression "pbVar15[3]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (bVar10 == 0) {\n              uVar36 = uVar36 - 3;\n              uVar22 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              uVar36 = uVar36 - 4;\n              uVar22 = 4;\n              local_e0 = (byte *)0x0;\n            }" if (parenthesized_expression "(bVar10 == 0)" ( (binary_expression "bVar10 == 0" identifier == number_literal) )) (compound_statement "{\n              uVar36 = uVar36 - 3;\n              uVar22 = 3;\n              local_e0 = (byte *)0x0;\n            }" { (expression_statement "uVar36 = uVar36 - 3;" (assignment_expression "uVar36 = uVar36 - 3" identifier = (binary_expression "uVar36 - 3" identifier - number_literal)) ;) (expression_statement "uVar22 = 3;" (assignment_expression "uVar22 = 3" identifier = number_literal) ;) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n              uVar36 = uVar36 - 4;\n              uVar22 = 4;\n              local_e0 = (byte *)0x0;\n            }" else (compound_statement "{\n              uVar36 = uVar36 - 4;\n              uVar22 = 4;\n              local_e0 = (byte *)0x0;\n            }" { (expression_statement "uVar36 = uVar36 - 4;" (assignment_expression "uVar36 = uVar36 - 4" identifier = (binary_expression "uVar36 - 4" identifier - number_literal)) ;) (expression_statement "uVar22 = 4;" (assignment_expression "uVar22 = 4" identifier = number_literal) ;) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (goto_statement "goto LAB_0013f018;" goto statement_identifier ;) })) })) (expression_statement "local_c8 = (int)uVar18;" (assignment_expression "local_c8 = (int)uVar18" identifier = (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_b5 = bVar27;" (assignment_expression "local_b5 = bVar27" identifier = identifier) ;) (if_statement "if (eVar37 == '\x01') {\n          iVar12 = 0;\n          if (-1 < local_c8) {\n            iVar12 = local_c8;\n          }\n          lVar34 = (long)iVar12;\n        }\n        else {\n          dVar44 = dVar45 + dVar44;\n          if ((double)_DAT_001fae10 <= dVar44) {\n            dVar44 = dVar44 * DAT_001faf40;\n            uVar18 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar18;\n          if (eVar37 == '\x03') {\n            local_b5 = bVar39 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar13 < local_c8)) {\n              lVar34 = 0;\n              eVar37 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar13 = uVar13 - local_c8;\n              iVar12 = 0;\n              if (-1 < local_c8) {\n                iVar12 = local_c8;\n              }\n              eVar37 = '\x01';\n              lVar34 = (long)iVar12;\n            }\n          }\n          else if (eVar37 == '\x02') {\n            lVar34 = 0;\n            local_c8 = 0;\n          }\n          else {\n            eVar37 = '\x01';\n            iVar12 = 0;\n            if (-1 < local_c8) {\n              iVar12 = local_c8;\n            }\n            lVar34 = (long)iVar12;\n          }\n        }" if (parenthesized_expression "(eVar37 == '\x01')" ( (binary_expression "eVar37 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n          iVar12 = 0;\n          if (-1 < local_c8) {\n            iVar12 = local_c8;\n          }\n          lVar34 = (long)iVar12;\n        }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (if_statement "if (-1 < local_c8) {\n            iVar12 = local_c8;\n          }" if (parenthesized_expression "(-1 < local_c8)" ( (binary_expression "-1 < local_c8" number_literal < identifier) )) (compound_statement "{\n            iVar12 = local_c8;\n          }" { (expression_statement "iVar12 = local_c8;" (assignment_expression "iVar12 = local_c8" identifier = identifier) ;) })) (expression_statement "lVar34 = (long)iVar12;" (assignment_expression "lVar34 = (long)iVar12" identifier = (cast_expression "(long)iVar12" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) }) (else_clause "else {\n          dVar44 = dVar45 + dVar44;\n          if ((double)_DAT_001fae10 <= dVar44) {\n            dVar44 = dVar44 * DAT_001faf40;\n            uVar18 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar18;\n          if (eVar37 == '\x03') {\n            local_b5 = bVar39 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar13 < local_c8)) {\n              lVar34 = 0;\n              eVar37 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar13 = uVar13 - local_c8;\n              iVar12 = 0;\n              if (-1 < local_c8) {\n                iVar12 = local_c8;\n              }\n              eVar37 = '\x01';\n              lVar34 = (long)iVar12;\n            }\n          }\n          else if (eVar37 == '\x02') {\n            lVar34 = 0;\n            local_c8 = 0;\n          }\n          else {\n            eVar37 = '\x01';\n            iVar12 = 0;\n            if (-1 < local_c8) {\n              iVar12 = local_c8;\n            }\n            lVar34 = (long)iVar12;\n          }\n        }" else (compound_statement "{\n          dVar44 = dVar45 + dVar44;\n          if ((double)_DAT_001fae10 <= dVar44) {\n            dVar44 = dVar44 * DAT_001faf40;\n            uVar18 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar18;\n          if (eVar37 == '\x03') {\n            local_b5 = bVar39 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar13 < local_c8)) {\n              lVar34 = 0;\n              eVar37 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar13 = uVar13 - local_c8;\n              iVar12 = 0;\n              if (-1 < local_c8) {\n                iVar12 = local_c8;\n              }\n              eVar37 = '\x01';\n              lVar34 = (long)iVar12;\n            }\n          }\n          else if (eVar37 == '\x02') {\n            lVar34 = 0;\n            local_c8 = 0;\n          }\n          else {\n            eVar37 = '\x01';\n            iVar12 = 0;\n            if (-1 < local_c8) {\n              iVar12 = local_c8;\n            }\n            lVar34 = (long)iVar12;\n          }\n        }" { (expression_statement "dVar44 = dVar45 + dVar44;" (assignment_expression "dVar44 = dVar45 + dVar44" identifier = (binary_expression "dVar45 + dVar44" identifier + identifier)) ;) (if_statement "if ((double)_DAT_001fae10 <= dVar44) {\n            dVar44 = dVar44 * DAT_001faf40;\n            uVar18 = (ulong)(local_c8 + 1);\n          }" if (parenthesized_expression "((double)_DAT_001fae10 <= dVar44)" ( (binary_expression "(double)_DAT_001fae10 <= dVar44" (cast_expression "(double)_DAT_001fae10" ( (type_descriptor "double" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n            dVar44 = dVar44 * DAT_001faf40;\n            uVar18 = (ulong)(local_c8 + 1);\n          }" { (expression_statement "dVar44 = dVar44 * DAT_001faf40;" (assignment_expression "dVar44 = dVar44 * DAT_001faf40" identifier = (binary_expression "dVar44 * DAT_001faf40" identifier * identifier)) ;) (expression_statement "uVar18 = (ulong)(local_c8 + 1);" (assignment_expression "uVar18 = (ulong)(local_c8 + 1)" identifier = (call_expression "(ulong)(local_c8 + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(local_c8 + 1)" ( (binary_expression "local_c8 + 1" identifier + number_literal) )))) ;) })) (expression_statement "local_c8 = (int)uVar18;" (assignment_expression "local_c8 = (int)uVar18" identifier = (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (eVar37 == '\x03') {\n            local_b5 = bVar39 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar13 < local_c8)) {\n              lVar34 = 0;\n              eVar37 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar13 = uVar13 - local_c8;\n              iVar12 = 0;\n              if (-1 < local_c8) {\n                iVar12 = local_c8;\n              }\n              eVar37 = '\x01';\n              lVar34 = (long)iVar12;\n            }\n          }\n          else if (eVar37 == '\x02') {\n            lVar34 = 0;\n            local_c8 = 0;\n          }\n          else {\n            eVar37 = '\x01';\n            iVar12 = 0;\n            if (-1 < local_c8) {\n              iVar12 = local_c8;\n            }\n            lVar34 = (long)iVar12;\n          }" if (parenthesized_expression "(eVar37 == '\x03')" ( (binary_expression "eVar37 == '\x03'" identifier == (char_literal "'\x03'" ' escape_sequence ')) )) (compound_statement "{\n            local_b5 = bVar39 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar13 < local_c8)) {\n              lVar34 = 0;\n              eVar37 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar13 = uVar13 - local_c8;\n              iVar12 = 0;\n              if (-1 < local_c8) {\n                iVar12 = local_c8;\n              }\n              eVar37 = '\x01';\n              lVar34 = (long)iVar12;\n            }\n          }" { (expression_statement "local_b5 = bVar39 ^ 1;" (assignment_expression "local_b5 = bVar39 ^ 1" identifier = (binary_expression "bVar39 ^ 1" identifier ^ number_literal)) ;) (if_statement "if ((local_c8 < -4) || ((int)uVar13 < local_c8)) {\n              lVar34 = 0;\n              eVar37 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar13 = uVar13 - local_c8;\n              iVar12 = 0;\n              if (-1 < local_c8) {\n                iVar12 = local_c8;\n              }\n              eVar37 = '\x01';\n              lVar34 = (long)iVar12;\n            }" if (parenthesized_expression "((local_c8 < -4) || ((int)uVar13 < local_c8))" ( (binary_expression "(local_c8 < -4) || ((int)uVar13 < local_c8)" (parenthesized_expression "(local_c8 < -4)" ( (binary_expression "local_c8 < -4" identifier < number_literal) )) || (parenthesized_expression "((int)uVar13 < local_c8)" ( (binary_expression "(int)uVar13 < local_c8" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) ))) )) (compound_statement "{\n              lVar34 = 0;\n              eVar37 = '\x02';\n              local_c8 = 0;\n            }" { (expression_statement "lVar34 = 0;" (assignment_expression "lVar34 = 0" identifier = number_literal) ;) (expression_statement "eVar37 = '\x02';" (assignment_expression "eVar37 = '\x02'" identifier = (char_literal "'\x02'" ' escape_sequence ')) ;) (expression_statement "local_c8 = 0;" (assignment_expression "local_c8 = 0" identifier = number_literal) ;) }) (else_clause "else {\n              uVar13 = uVar13 - local_c8;\n              iVar12 = 0;\n              if (-1 < local_c8) {\n                iVar12 = local_c8;\n              }\n              eVar37 = '\x01';\n              lVar34 = (long)iVar12;\n            }" else (compound_statement "{\n              uVar13 = uVar13 - local_c8;\n              iVar12 = 0;\n              if (-1 < local_c8) {\n                iVar12 = local_c8;\n              }\n              eVar37 = '\x01';\n              lVar34 = (long)iVar12;\n            }" { (expression_statement "uVar13 = uVar13 - local_c8;" (assignment_expression "uVar13 = uVar13 - local_c8" identifier = (binary_expression "uVar13 - local_c8" identifier - identifier)) ;) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (if_statement "if (-1 < local_c8) {\n                iVar12 = local_c8;\n              }" if (parenthesized_expression "(-1 < local_c8)" ( (binary_expression "-1 < local_c8" number_literal < identifier) )) (compound_statement "{\n                iVar12 = local_c8;\n              }" { (expression_statement "iVar12 = local_c8;" (assignment_expression "iVar12 = local_c8" identifier = identifier) ;) })) (expression_statement "eVar37 = '\x01';" (assignment_expression "eVar37 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "lVar34 = (long)iVar12;" (assignment_expression "lVar34 = (long)iVar12" identifier = (cast_expression "(long)iVar12" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) }))) }) (else_clause "else if (eVar37 == '\x02') {\n            lVar34 = 0;\n            local_c8 = 0;\n          }\n          else {\n            eVar37 = '\x01';\n            iVar12 = 0;\n            if (-1 < local_c8) {\n              iVar12 = local_c8;\n            }\n            lVar34 = (long)iVar12;\n          }" else (if_statement "if (eVar37 == '\x02') {\n            lVar34 = 0;\n            local_c8 = 0;\n          }\n          else {\n            eVar37 = '\x01';\n            iVar12 = 0;\n            if (-1 < local_c8) {\n              iVar12 = local_c8;\n            }\n            lVar34 = (long)iVar12;\n          }" if (parenthesized_expression "(eVar37 == '\x02')" ( (binary_expression "eVar37 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n            lVar34 = 0;\n            local_c8 = 0;\n          }" { (expression_statement "lVar34 = 0;" (assignment_expression "lVar34 = 0" identifier = number_literal) ;) (expression_statement "local_c8 = 0;" (assignment_expression "local_c8 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            eVar37 = '\x01';\n            iVar12 = 0;\n            if (-1 < local_c8) {\n              iVar12 = local_c8;\n            }\n            lVar34 = (long)iVar12;\n          }" else (compound_statement "{\n            eVar37 = '\x01';\n            iVar12 = 0;\n            if (-1 < local_c8) {\n              iVar12 = local_c8;\n            }\n            lVar34 = (long)iVar12;\n          }" { (expression_statement "eVar37 = '\x01';" (assignment_expression "eVar37 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (if_statement "if (-1 < local_c8) {\n              iVar12 = local_c8;\n            }" if (parenthesized_expression "(-1 < local_c8)" ( (binary_expression "-1 < local_c8" number_literal < identifier) )) (compound_statement "{\n              iVar12 = local_c8;\n            }" { (expression_statement "iVar12 = local_c8;" (assignment_expression "iVar12 = local_c8" identifier = identifier) ;) })) (expression_statement "lVar34 = (long)iVar12;" (assignment_expression "lVar34 = (long)iVar12" identifier = (cast_expression "(long)iVar12" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) }))))) }))) (expression_statement "lVar29 = (long)(int)uVar36;" (assignment_expression "lVar29 = (long)(int)uVar36" identifier = (cast_expression "(long)(int)uVar36" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar36" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "lVar34 = lVar34 + (int)uVar13 + 0xf + lVar29;" (assignment_expression "lVar34 = lVar34 + (int)uVar13 + 0xf + lVar29" identifier = (binary_expression "lVar34 + (int)uVar13 + 0xf + lVar29" (binary_expression "lVar34 + (int)uVar13 + 0xf" (binary_expression "lVar34 + (int)uVar13" identifier + (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal) + identifier)) ;) (if_statement "if (lVar34 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar41 = (byte *)buf;\n        }\n        else {\n          pbVar41 = (byte *)printfTempBuf(pAccum,lVar34);\n          local_e0 = pbVar41;\n          if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }" if (parenthesized_expression "(lVar34 < 0x47)" ( (binary_expression "lVar34 < 0x47" identifier < number_literal) )) (compound_statement "{\n          local_e0 = (byte *)0x0;\n          pbVar41 = (byte *)buf;\n        }" { (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar41 = (byte *)buf;" (assignment_expression "pbVar41 = (byte *)buf" identifier = (cast_expression "(byte *)buf" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n          pbVar41 = (byte *)printfTempBuf(pAccum,lVar34);\n          local_e0 = pbVar41;\n          if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }" else (compound_statement "{\n          pbVar41 = (byte *)printfTempBuf(pAccum,lVar34);\n          local_e0 = pbVar41;\n          if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }" { (expression_statement "pbVar41 = (byte *)printfTempBuf(pAccum,lVar34);" (assignment_expression "pbVar41 = (byte *)printfTempBuf(pAccum,lVar34)" identifier = (cast_expression "(byte *)printfTempBuf(pAccum,lVar34)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "printfTempBuf(pAccum,lVar34)" identifier (argument_list "(pAccum,lVar34)" ( identifier , identifier ))))) ;) (expression_statement "local_e0 = pbVar41;" (assignment_expression "local_e0 = pbVar41" identifier = identifier) ;) (if_statement "if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;" if (parenthesized_expression "(pbVar41 == (byte *)0x0)" ( (binary_expression "pbVar41 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto switchD_0013ea21_caseD_11;" goto statement_identifier ;)) }))) (expression_statement "iVar12 = (uint)bVar27 * 10 + 0x10;" (assignment_expression "iVar12 = (uint)bVar27 * 10 + 0x10" identifier = (binary_expression "(uint)bVar27 * 10 + 0x10" (binary_expression "(uint)bVar27 * 10" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + number_literal)) ;) (expression_statement "bVar43 = 0 < (int)uVar13;" (assignment_expression "bVar43 = 0 < (int)uVar13" identifier = (binary_expression "0 < (int)uVar13" number_literal < (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pbVar26 = pbVar41;" (assignment_expression "pbVar26 = pbVar41" identifier = identifier) ;) (expression_statement "pbVar15 = pbVar41 + 1;" (assignment_expression "pbVar15 = pbVar41 + 1" identifier = (binary_expression "pbVar41 + 1" identifier + number_literal)) ;) (if_statement "if (bVar10 != 0) {\n          *pbVar41 = bVar10;\n          pbVar15 = pbVar41 + 2;\n          pbVar26 = pbVar41 + 1;\n        }" if (parenthesized_expression "(bVar10 != 0)" ( (binary_expression "bVar10 != 0" identifier != number_literal) )) (compound_statement "{\n          *pbVar41 = bVar10;\n          pbVar15 = pbVar41 + 2;\n          pbVar26 = pbVar41 + 1;\n        }" { (expression_statement "*pbVar41 = bVar10;" (assignment_expression "*pbVar41 = bVar10" (pointer_expression "*pbVar41" * identifier) = identifier) ;) (expression_statement "pbVar15 = pbVar41 + 2;" (assignment_expression "pbVar15 = pbVar41 + 2" identifier = (binary_expression "pbVar41 + 2" identifier + number_literal)) ;) (expression_statement "pbVar26 = pbVar41 + 1;" (assignment_expression "pbVar26 = pbVar41 + 1" identifier = (binary_expression "pbVar41 + 1" identifier + number_literal)) ;) })) (if_statement "if (local_c8 < 0) {\n          *pbVar26 = 0x30;\n          uVar22 = local_c8 + 1;\n          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar26 = pbVar15 + 1;\n            *pbVar15 = 0x2e;\n            pbVar15 = pbVar26;\n            if (uVar22 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar26 = pbVar15;\n            do {\n              pbVar20 = pbVar26 + 1;\n              *pbVar26 = 0x30;\n              pbVar26 = pbVar20;\n            } while (pbVar20 != pbVar15 + (ulong)~uVar22 + 1);\n            uVar13 = (uVar13 - 1) + local_c8 + 2;\n            pbVar15 = pbVar15 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar13) {\n              pbVar26 = pbVar15;\n              do {\n                while (pbVar20 = pbVar26 + 1, 0 < iVar12) {\n                  iVar12 = iVar12 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar44);\n                  *pbVar26 = (char)local_c8 + 0x30;\n                  dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n                  pbVar26 = pbVar20;\n                  if (pbVar20 == pbVar15 + (ulong)(uVar13 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar26 = 0x30;\n                pbVar26 = pbVar20;\n              } while (pbVar20 != pbVar15 + (ulong)(uVar13 - 1) + 1);\nLAB_0013ee39:\n              pbVar15 = pbVar15 + (ulong)(uVar13 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar22 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar15 = pbVar26 + (long)local_c8 + 1;\n          do {\n            while (pbVar20 = pbVar26, pbVar26 = pbVar20 + 1, 0 < iVar12) {\n              iVar12 = iVar12 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar44);\n              *pbVar20 = (char)local_c8 + 0x30;\n              dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n              if (pbVar26 == pbVar15) goto LAB_0013fe8d;\n            }\n            *pbVar20 = 0x30;\n          } while (pbVar26 != pbVar15);\nLAB_0013fe8d:\n          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar15 = pbVar20 + 2;\n            *pbVar26 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar43 || (bVar39 != 0 || bVar27 != 0))) {\n            while (pbVar15[-1] == 0x30) {\n              pbVar15 = pbVar15 + -1;\n              *pbVar15 = 0;\n            }\n            if (pbVar15[-1] == 0x2e) {\n              if (bVar27 == 0) {\n                pbVar15[-1] = 0;\n                pbVar15 = pbVar15 + -1;\n              }\n              else {\n                *pbVar15 = 0x30;\n                pbVar15 = pbVar15 + 1;\n              }\n            }\n          }\n        }" if (parenthesized_expression "(local_c8 < 0)" ( (binary_expression "local_c8 < 0" identifier < number_literal) )) (compound_statement "{\n          *pbVar26 = 0x30;\n          uVar22 = local_c8 + 1;\n          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar26 = pbVar15 + 1;\n            *pbVar15 = 0x2e;\n            pbVar15 = pbVar26;\n            if (uVar22 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar26 = pbVar15;\n            do {\n              pbVar20 = pbVar26 + 1;\n              *pbVar26 = 0x30;\n              pbVar26 = pbVar20;\n            } while (pbVar20 != pbVar15 + (ulong)~uVar22 + 1);\n            uVar13 = (uVar13 - 1) + local_c8 + 2;\n            pbVar15 = pbVar15 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar13) {\n              pbVar26 = pbVar15;\n              do {\n                while (pbVar20 = pbVar26 + 1, 0 < iVar12) {\n                  iVar12 = iVar12 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar44);\n                  *pbVar26 = (char)local_c8 + 0x30;\n                  dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n                  pbVar26 = pbVar20;\n                  if (pbVar20 == pbVar15 + (ulong)(uVar13 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar26 = 0x30;\n                pbVar26 = pbVar20;\n              } while (pbVar20 != pbVar15 + (ulong)(uVar13 - 1) + 1);\nLAB_0013ee39:\n              pbVar15 = pbVar15 + (ulong)(uVar13 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar22 != 0) goto LAB_0013ed90;\n        }" { (expression_statement "*pbVar26 = 0x30;" (assignment_expression "*pbVar26 = 0x30" (pointer_expression "*pbVar26" * identifier) = number_literal) ;) (expression_statement "uVar22 = local_c8 + 1;" (assignment_expression "uVar22 = local_c8 + 1" identifier = (binary_expression "local_c8 + 1" identifier + number_literal)) ;) (if_statement "if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar26 = pbVar15 + 1;\n            *pbVar15 = 0x2e;\n            pbVar15 = pbVar26;\n            if (uVar22 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar26 = pbVar15;\n            do {\n              pbVar20 = pbVar26 + 1;\n              *pbVar26 = 0x30;\n              pbVar26 = pbVar20;\n            } while (pbVar20 != pbVar15 + (ulong)~uVar22 + 1);\n            uVar13 = (uVar13 - 1) + local_c8 + 2;\n            pbVar15 = pbVar15 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar13) {\n              pbVar26 = pbVar15;\n              do {\n                while (pbVar20 = pbVar26 + 1, 0 < iVar12) {\n                  iVar12 = iVar12 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar44);\n                  *pbVar26 = (char)local_c8 + 0x30;\n                  dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n                  pbVar26 = pbVar20;\n                  if (pbVar20 == pbVar15 + (ulong)(uVar13 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar26 = 0x30;\n                pbVar26 = pbVar20;\n              } while (pbVar20 != pbVar15 + (ulong)(uVar13 - 1) + 1);\nLAB_0013ee39:\n              pbVar15 = pbVar15 + (ulong)(uVar13 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }" if (parenthesized_expression "(bVar43 || (bVar39 != 0 || bVar27 != 0))" ( (binary_expression "bVar43 || (bVar39 != 0 || bVar27 != 0)" identifier || (parenthesized_expression "(bVar39 != 0 || bVar27 != 0)" ( (binary_expression "bVar39 != 0 || bVar27 != 0" (binary_expression "bVar39 != 0" identifier != number_literal) || (binary_expression "bVar27 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n            pbVar26 = pbVar15 + 1;\n            *pbVar15 = 0x2e;\n            pbVar15 = pbVar26;\n            if (uVar22 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar26 = pbVar15;\n            do {\n              pbVar20 = pbVar26 + 1;\n              *pbVar26 = 0x30;\n              pbVar26 = pbVar20;\n            } while (pbVar20 != pbVar15 + (ulong)~uVar22 + 1);\n            uVar13 = (uVar13 - 1) + local_c8 + 2;\n            pbVar15 = pbVar15 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar13) {\n              pbVar26 = pbVar15;\n              do {\n                while (pbVar20 = pbVar26 + 1, 0 < iVar12) {\n                  iVar12 = iVar12 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar44);\n                  *pbVar26 = (char)local_c8 + 0x30;\n                  dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n                  pbVar26 = pbVar20;\n                  if (pbVar20 == pbVar15 + (ulong)(uVar13 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar26 = 0x30;\n                pbVar26 = pbVar20;\n              } while (pbVar20 != pbVar15 + (ulong)(uVar13 - 1) + 1);\nLAB_0013ee39:\n              pbVar15 = pbVar15 + (ulong)(uVar13 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }" { (expression_statement "pbVar26 = pbVar15 + 1;" (assignment_expression "pbVar26 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar15 = 0x2e;" (assignment_expression "*pbVar15 = 0x2e" (pointer_expression "*pbVar15" * identifier) = number_literal) ;) (expression_statement "pbVar15 = pbVar26;" (assignment_expression "pbVar15 = pbVar26" identifier = identifier) ;) (if_statement "if (uVar22 == 0) goto LAB_0013edc4;" if (parenthesized_expression "(uVar22 == 0)" ( (binary_expression "uVar22 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0013edc4;" goto statement_identifier ;)) (labeled_statement "LAB_0013ed90:\n            pbVar26 = pbVar15;" statement_identifier : (expression_statement "pbVar26 = pbVar15;" (assignment_expression "pbVar26 = pbVar15" identifier = identifier) ;)) (do_statement "do {\n              pbVar20 = pbVar26 + 1;\n              *pbVar26 = 0x30;\n              pbVar26 = pbVar20;\n            } while (pbVar20 != pbVar15 + (ulong)~uVar22 + 1);" do (compound_statement "{\n              pbVar20 = pbVar26 + 1;\n              *pbVar26 = 0x30;\n              pbVar26 = pbVar20;\n            }" { (expression_statement "pbVar20 = pbVar26 + 1;" (assignment_expression "pbVar20 = pbVar26 + 1" identifier = (binary_expression "pbVar26 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar26 = 0x30;" (assignment_expression "*pbVar26 = 0x30" (pointer_expression "*pbVar26" * identifier) = number_literal) ;) (expression_statement "pbVar26 = pbVar20;" (assignment_expression "pbVar26 = pbVar20" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar20 != pbVar15 + (ulong)~uVar22 + 1)" ( (binary_expression "pbVar20 != pbVar15 + (ulong)~uVar22 + 1" identifier != (binary_expression "pbVar15 + (ulong)~uVar22 + 1" (binary_expression "pbVar15 + (ulong)~uVar22" identifier + (cast_expression "(ulong)~uVar22" ( (type_descriptor "ulong" type_identifier) ) (unary_expression "~uVar22" ~ identifier))) + number_literal)) )) ;) (expression_statement "uVar13 = (uVar13 - 1) + local_c8 + 2;" (assignment_expression "uVar13 = (uVar13 - 1) + local_c8 + 2" identifier = (binary_expression "(uVar13 - 1) + local_c8 + 2" (binary_expression "(uVar13 - 1) + local_c8" (parenthesized_expression "(uVar13 - 1)" ( (binary_expression "uVar13 - 1" identifier - number_literal) )) + identifier) + number_literal)) ;) (expression_statement "pbVar15 = pbVar15 + (ulong)(uint)-(local_c8 + 2) + 1;" (assignment_expression "pbVar15 = pbVar15 + (ulong)(uint)-(local_c8 + 2) + 1" identifier = (binary_expression "pbVar15 + (ulong)(uint)-(local_c8 + 2) + 1" (binary_expression "pbVar15 + (ulong)(uint)-(local_c8 + 2)" (binary_expression "pbVar15 + (ulong)(uint)" identifier + (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier )))) - (parenthesized_expression "(local_c8 + 2)" ( (binary_expression "local_c8 + 2" identifier + number_literal) ))) + number_literal)) ;) (labeled_statement "LAB_0013edc4:\n            if (0 < (int)uVar13) {\n              pbVar26 = pbVar15;\n              do {\n                while (pbVar20 = pbVar26 + 1, 0 < iVar12) {\n                  iVar12 = iVar12 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar44);\n                  *pbVar26 = (char)local_c8 + 0x30;\n                  dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n                  pbVar26 = pbVar20;\n                  if (pbVar20 == pbVar15 + (ulong)(uVar13 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar26 = 0x30;\n                pbVar26 = pbVar20;\n              } while (pbVar20 != pbVar15 + (ulong)(uVar13 - 1) + 1);\nLAB_0013ee39:\n              pbVar15 = pbVar15 + (ulong)(uVar13 - 1) + 1;\n            }" statement_identifier : (if_statement "if (0 < (int)uVar13) {\n              pbVar26 = pbVar15;\n              do {\n                while (pbVar20 = pbVar26 + 1, 0 < iVar12) {\n                  iVar12 = iVar12 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar44);\n                  *pbVar26 = (char)local_c8 + 0x30;\n                  dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n                  pbVar26 = pbVar20;\n                  if (pbVar20 == pbVar15 + (ulong)(uVar13 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar26 = 0x30;\n                pbVar26 = pbVar20;\n              } while (pbVar20 != pbVar15 + (ulong)(uVar13 - 1) + 1);\nLAB_0013ee39:\n              pbVar15 = pbVar15 + (ulong)(uVar13 - 1) + 1;\n            }" if (parenthesized_expression "(0 < (int)uVar13)" ( (binary_expression "0 < (int)uVar13" number_literal < (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              pbVar26 = pbVar15;\n              do {\n                while (pbVar20 = pbVar26 + 1, 0 < iVar12) {\n                  iVar12 = iVar12 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar44);\n                  *pbVar26 = (char)local_c8 + 0x30;\n                  dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n                  pbVar26 = pbVar20;\n                  if (pbVar20 == pbVar15 + (ulong)(uVar13 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar26 = 0x30;\n                pbVar26 = pbVar20;\n              } while (pbVar20 != pbVar15 + (ulong)(uVar13 - 1) + 1);\nLAB_0013ee39:\n              pbVar15 = pbVar15 + (ulong)(uVar13 - 1) + 1;\n            }" { (expression_statement "pbVar26 = pbVar15;" (assignment_expression "pbVar26 = pbVar15" identifier = identifier) ;) (do_statement "do {\n                while (pbVar20 = pbVar26 + 1, 0 < iVar12) {\n                  iVar12 = iVar12 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar44);\n                  *pbVar26 = (char)local_c8 + 0x30;\n                  dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n                  pbVar26 = pbVar20;\n                  if (pbVar20 == pbVar15 + (ulong)(uVar13 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar26 = 0x30;\n                pbVar26 = pbVar20;\n              } while (pbVar20 != pbVar15 + (ulong)(uVar13 - 1) + 1);" do (compound_statement "{\n                while (pbVar20 = pbVar26 + 1, 0 < iVar12) {\n                  iVar12 = iVar12 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar44);\n                  *pbVar26 = (char)local_c8 + 0x30;\n                  dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n                  pbVar26 = pbVar20;\n                  if (pbVar20 == pbVar15 + (ulong)(uVar13 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar26 = 0x30;\n                pbVar26 = pbVar20;\n              }" { (while_statement "while (pbVar20 = pbVar26 + 1, 0 < iVar12) {\n                  iVar12 = iVar12 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar44);\n                  *pbVar26 = (char)local_c8 + 0x30;\n                  dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n                  pbVar26 = pbVar20;\n                  if (pbVar20 == pbVar15 + (ulong)(uVar13 - 1) + 1) goto LAB_0013ee39;\n                }" while (parenthesized_expression "(pbVar20 = pbVar26 + 1, 0 < iVar12)" ( (comma_expression "pbVar20 = pbVar26 + 1, 0 < iVar12" (assignment_expression "pbVar20 = pbVar26 + 1" identifier = (binary_expression "pbVar26 + 1" identifier + number_literal)) , (binary_expression "0 < iVar12" number_literal < identifier)) )) (compound_statement "{\n                  iVar12 = iVar12 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar44);\n                  *pbVar26 = (char)local_c8 + 0x30;\n                  dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n                  pbVar26 = pbVar20;\n                  if (pbVar20 == pbVar15 + (ulong)(uVar13 - 1) + 1) goto LAB_0013ee39;\n                }" { (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "local_c8._0_1_ = (char)(int)ROUND(dVar44);" (assignment_expression "local_c8._0_1_ = (char)(int)ROUND(dVar44)" (field_expression "local_c8._0_1_" identifier . field_identifier) = (cast_expression "(char)(int)ROUND(dVar44)" ( (type_descriptor "char" primitive_type) ) (cast_expression "(int)ROUND(dVar44)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(dVar44)" identifier (argument_list "(dVar44)" ( identifier )))))) ;) (expression_statement "*pbVar26 = (char)local_c8 + 0x30;" (assignment_expression "*pbVar26 = (char)local_c8 + 0x30" (pointer_expression "*pbVar26" * identifier) = (binary_expression "(char)local_c8 + 0x30" (cast_expression "(char)local_c8" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;" (assignment_expression "dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10" identifier = (binary_expression "(dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10" (parenthesized_expression "(dVar44 - (double)(int)ROUND(dVar44))" ( (binary_expression "dVar44 - (double)(int)ROUND(dVar44)" identifier - (cast_expression "(double)(int)ROUND(dVar44)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)ROUND(dVar44)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(dVar44)" identifier (argument_list "(dVar44)" ( identifier )))))) )) * (cast_expression "(double)_DAT_001fae10" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "pbVar26 = pbVar20;" (assignment_expression "pbVar26 = pbVar20" identifier = identifier) ;) (if_statement "if (pbVar20 == pbVar15 + (ulong)(uVar13 - 1) + 1) goto LAB_0013ee39;" if (parenthesized_expression "(pbVar20 == pbVar15 + (ulong)(uVar13 - 1) + 1)" ( (binary_expression "pbVar20 == pbVar15 + (ulong)(uVar13 - 1) + 1" identifier == (binary_expression "pbVar15 + (ulong)(uVar13 - 1) + 1" (binary_expression "pbVar15 + (ulong)(uVar13 - 1)" identifier + (call_expression "(ulong)(uVar13 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar13 - 1)" ( (binary_expression "uVar13 - 1" identifier - number_literal) )))) + number_literal)) )) (goto_statement "goto LAB_0013ee39;" goto statement_identifier ;)) })) (expression_statement "*pbVar26 = 0x30;" (assignment_expression "*pbVar26 = 0x30" (pointer_expression "*pbVar26" * identifier) = number_literal) ;) (expression_statement "pbVar26 = pbVar20;" (assignment_expression "pbVar26 = pbVar20" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar20 != pbVar15 + (ulong)(uVar13 - 1) + 1)" ( (binary_expression "pbVar20 != pbVar15 + (ulong)(uVar13 - 1) + 1" identifier != (binary_expression "pbVar15 + (ulong)(uVar13 - 1) + 1" (binary_expression "pbVar15 + (ulong)(uVar13 - 1)" identifier + (call_expression "(ulong)(uVar13 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar13 - 1)" ( (binary_expression "uVar13 - 1" identifier - number_literal) )))) + number_literal)) )) ;) (labeled_statement "LAB_0013ee39:\n              pbVar15 = pbVar15 + (ulong)(uVar13 - 1) + 1;" statement_identifier : (expression_statement "pbVar15 = pbVar15 + (ulong)(uVar13 - 1) + 1;" (assignment_expression "pbVar15 = pbVar15 + (ulong)(uVar13 - 1) + 1" identifier = (binary_expression "pbVar15 + (ulong)(uVar13 - 1) + 1" (binary_expression "pbVar15 + (ulong)(uVar13 - 1)" identifier + (call_expression "(ulong)(uVar13 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar13 - 1)" ( (binary_expression "uVar13 - 1" identifier - number_literal) )))) + number_literal)) ;)) }))) (goto_statement "goto LAB_0013ee42;" goto statement_identifier ;) })) (if_statement "if (uVar22 != 0) goto LAB_0013ed90;" if (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0013ed90;" goto statement_identifier ;)) }) (else_clause "else {\n          pbVar15 = pbVar26 + (long)local_c8 + 1;\n          do {\n            while (pbVar20 = pbVar26, pbVar26 = pbVar20 + 1, 0 < iVar12) {\n              iVar12 = iVar12 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar44);\n              *pbVar20 = (char)local_c8 + 0x30;\n              dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n              if (pbVar26 == pbVar15) goto LAB_0013fe8d;\n            }\n            *pbVar20 = 0x30;\n          } while (pbVar26 != pbVar15);\nLAB_0013fe8d:\n          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar15 = pbVar20 + 2;\n            *pbVar26 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar43 || (bVar39 != 0 || bVar27 != 0))) {\n            while (pbVar15[-1] == 0x30) {\n              pbVar15 = pbVar15 + -1;\n              *pbVar15 = 0;\n            }\n            if (pbVar15[-1] == 0x2e) {\n              if (bVar27 == 0) {\n                pbVar15[-1] = 0;\n                pbVar15 = pbVar15 + -1;\n              }\n              else {\n                *pbVar15 = 0x30;\n                pbVar15 = pbVar15 + 1;\n              }\n            }\n          }\n        }" else (compound_statement "{\n          pbVar15 = pbVar26 + (long)local_c8 + 1;\n          do {\n            while (pbVar20 = pbVar26, pbVar26 = pbVar20 + 1, 0 < iVar12) {\n              iVar12 = iVar12 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar44);\n              *pbVar20 = (char)local_c8 + 0x30;\n              dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n              if (pbVar26 == pbVar15) goto LAB_0013fe8d;\n            }\n            *pbVar20 = 0x30;\n          } while (pbVar26 != pbVar15);\nLAB_0013fe8d:\n          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar15 = pbVar20 + 2;\n            *pbVar26 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar43 || (bVar39 != 0 || bVar27 != 0))) {\n            while (pbVar15[-1] == 0x30) {\n              pbVar15 = pbVar15 + -1;\n              *pbVar15 = 0;\n            }\n            if (pbVar15[-1] == 0x2e) {\n              if (bVar27 == 0) {\n                pbVar15[-1] = 0;\n                pbVar15 = pbVar15 + -1;\n              }\n              else {\n                *pbVar15 = 0x30;\n                pbVar15 = pbVar15 + 1;\n              }\n            }\n          }\n        }" { (expression_statement "pbVar15 = pbVar26 + (long)local_c8 + 1;" (assignment_expression "pbVar15 = pbVar26 + (long)local_c8 + 1" identifier = (binary_expression "pbVar26 + (long)local_c8 + 1" (binary_expression "pbVar26 + (long)local_c8" identifier + (cast_expression "(long)local_c8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) + number_literal)) ;) (do_statement "do {\n            while (pbVar20 = pbVar26, pbVar26 = pbVar20 + 1, 0 < iVar12) {\n              iVar12 = iVar12 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar44);\n              *pbVar20 = (char)local_c8 + 0x30;\n              dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n              if (pbVar26 == pbVar15) goto LAB_0013fe8d;\n            }\n            *pbVar20 = 0x30;\n          } while (pbVar26 != pbVar15);" do (compound_statement "{\n            while (pbVar20 = pbVar26, pbVar26 = pbVar20 + 1, 0 < iVar12) {\n              iVar12 = iVar12 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar44);\n              *pbVar20 = (char)local_c8 + 0x30;\n              dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n              if (pbVar26 == pbVar15) goto LAB_0013fe8d;\n            }\n            *pbVar20 = 0x30;\n          }" { (while_statement "while (pbVar20 = pbVar26, pbVar26 = pbVar20 + 1, 0 < iVar12) {\n              iVar12 = iVar12 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar44);\n              *pbVar20 = (char)local_c8 + 0x30;\n              dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n              if (pbVar26 == pbVar15) goto LAB_0013fe8d;\n            }" while (parenthesized_expression "(pbVar20 = pbVar26, pbVar26 = pbVar20 + 1, 0 < iVar12)" ( (comma_expression "pbVar20 = pbVar26, pbVar26 = pbVar20 + 1, 0 < iVar12" (assignment_expression "pbVar20 = pbVar26" identifier = identifier) , (comma_expression "pbVar26 = pbVar20 + 1, 0 < iVar12" (assignment_expression "pbVar26 = pbVar20 + 1" identifier = (binary_expression "pbVar20 + 1" identifier + number_literal)) , (binary_expression "0 < iVar12" number_literal < identifier))) )) (compound_statement "{\n              iVar12 = iVar12 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar44);\n              *pbVar20 = (char)local_c8 + 0x30;\n              dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;\n              if (pbVar26 == pbVar15) goto LAB_0013fe8d;\n            }" { (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "local_c8._0_1_ = (char)(int)ROUND(dVar44);" (assignment_expression "local_c8._0_1_ = (char)(int)ROUND(dVar44)" (field_expression "local_c8._0_1_" identifier . field_identifier) = (cast_expression "(char)(int)ROUND(dVar44)" ( (type_descriptor "char" primitive_type) ) (cast_expression "(int)ROUND(dVar44)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(dVar44)" identifier (argument_list "(dVar44)" ( identifier )))))) ;) (expression_statement "*pbVar20 = (char)local_c8 + 0x30;" (assignment_expression "*pbVar20 = (char)local_c8 + 0x30" (pointer_expression "*pbVar20" * identifier) = (binary_expression "(char)local_c8 + 0x30" (cast_expression "(char)local_c8" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10;" (assignment_expression "dVar44 = (dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10" identifier = (binary_expression "(dVar44 - (double)(int)ROUND(dVar44)) * (double)_DAT_001fae10" (parenthesized_expression "(dVar44 - (double)(int)ROUND(dVar44))" ( (binary_expression "dVar44 - (double)(int)ROUND(dVar44)" identifier - (cast_expression "(double)(int)ROUND(dVar44)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)ROUND(dVar44)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(dVar44)" identifier (argument_list "(dVar44)" ( identifier )))))) )) * (cast_expression "(double)_DAT_001fae10" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (if_statement "if (pbVar26 == pbVar15) goto LAB_0013fe8d;" if (parenthesized_expression "(pbVar26 == pbVar15)" ( (binary_expression "pbVar26 == pbVar15" identifier == identifier) )) (goto_statement "goto LAB_0013fe8d;" goto statement_identifier ;)) })) (expression_statement "*pbVar20 = 0x30;" (assignment_expression "*pbVar20 = 0x30" (pointer_expression "*pbVar20" * identifier) = number_literal) ;) }) while (parenthesized_expression "(pbVar26 != pbVar15)" ( (binary_expression "pbVar26 != pbVar15" identifier != identifier) )) ;) (labeled_statement "LAB_0013fe8d:\n          if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar15 = pbVar20 + 2;\n            *pbVar26 = 0x2e;\n            goto LAB_0013edc4;\n          }" statement_identifier : (if_statement "if (bVar43 || (bVar39 != 0 || bVar27 != 0)) {\n            pbVar15 = pbVar20 + 2;\n            *pbVar26 = 0x2e;\n            goto LAB_0013edc4;\n          }" if (parenthesized_expression "(bVar43 || (bVar39 != 0 || bVar27 != 0))" ( (binary_expression "bVar43 || (bVar39 != 0 || bVar27 != 0)" identifier || (parenthesized_expression "(bVar39 != 0 || bVar27 != 0)" ( (binary_expression "bVar39 != 0 || bVar27 != 0" (binary_expression "bVar39 != 0" identifier != number_literal) || (binary_expression "bVar27 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n            pbVar15 = pbVar20 + 2;\n            *pbVar26 = 0x2e;\n            goto LAB_0013edc4;\n          }" { (expression_statement "pbVar15 = pbVar20 + 2;" (assignment_expression "pbVar15 = pbVar20 + 2" identifier = (binary_expression "pbVar20 + 2" identifier + number_literal)) ;) (expression_statement "*pbVar26 = 0x2e;" (assignment_expression "*pbVar26 = 0x2e" (pointer_expression "*pbVar26" * identifier) = number_literal) ;) (goto_statement "goto LAB_0013edc4;" goto statement_identifier ;) }))) (labeled_statement "LAB_0013ee42:\n          if ((local_b5 != 0) && (bVar43 || (bVar39 != 0 || bVar27 != 0))) {\n            while (pbVar15[-1] == 0x30) {\n              pbVar15 = pbVar15 + -1;\n              *pbVar15 = 0;\n            }\n            if (pbVar15[-1] == 0x2e) {\n              if (bVar27 == 0) {\n                pbVar15[-1] = 0;\n                pbVar15 = pbVar15 + -1;\n              }\n              else {\n                *pbVar15 = 0x30;\n                pbVar15 = pbVar15 + 1;\n              }\n            }\n          }" statement_identifier : (if_statement "if ((local_b5 != 0) && (bVar43 || (bVar39 != 0 || bVar27 != 0))) {\n            while (pbVar15[-1] == 0x30) {\n              pbVar15 = pbVar15 + -1;\n              *pbVar15 = 0;\n            }\n            if (pbVar15[-1] == 0x2e) {\n              if (bVar27 == 0) {\n                pbVar15[-1] = 0;\n                pbVar15 = pbVar15 + -1;\n              }\n              else {\n                *pbVar15 = 0x30;\n                pbVar15 = pbVar15 + 1;\n              }\n            }\n          }" if (parenthesized_expression "((local_b5 != 0) && (bVar43 || (bVar39 != 0 || bVar27 != 0)))" ( (binary_expression "(local_b5 != 0) && (bVar43 || (bVar39 != 0 || bVar27 != 0))" (parenthesized_expression "(local_b5 != 0)" ( (binary_expression "local_b5 != 0" identifier != number_literal) )) && (parenthesized_expression "(bVar43 || (bVar39 != 0 || bVar27 != 0))" ( (binary_expression "bVar43 || (bVar39 != 0 || bVar27 != 0)" identifier || (parenthesized_expression "(bVar39 != 0 || bVar27 != 0)" ( (binary_expression "bVar39 != 0 || bVar27 != 0" (binary_expression "bVar39 != 0" identifier != number_literal) || (binary_expression "bVar27 != 0" identifier != number_literal)) ))) ))) )) (compound_statement "{\n            while (pbVar15[-1] == 0x30) {\n              pbVar15 = pbVar15 + -1;\n              *pbVar15 = 0;\n            }\n            if (pbVar15[-1] == 0x2e) {\n              if (bVar27 == 0) {\n                pbVar15[-1] = 0;\n                pbVar15 = pbVar15 + -1;\n              }\n              else {\n                *pbVar15 = 0x30;\n                pbVar15 = pbVar15 + 1;\n              }\n            }\n          }" { (while_statement "while (pbVar15[-1] == 0x30) {\n              pbVar15 = pbVar15 + -1;\n              *pbVar15 = 0;\n            }" while (parenthesized_expression "(pbVar15[-1] == 0x30)" ( (binary_expression "pbVar15[-1] == 0x30" (subscript_expression "pbVar15[-1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              pbVar15 = pbVar15 + -1;\n              *pbVar15 = 0;\n            }" { (expression_statement "pbVar15 = pbVar15 + -1;" (assignment_expression "pbVar15 = pbVar15 + -1" identifier = (binary_expression "pbVar15 + -1" identifier + number_literal)) ;) (expression_statement "*pbVar15 = 0;" (assignment_expression "*pbVar15 = 0" (pointer_expression "*pbVar15" * identifier) = number_literal) ;) })) (if_statement "if (pbVar15[-1] == 0x2e) {\n              if (bVar27 == 0) {\n                pbVar15[-1] = 0;\n                pbVar15 = pbVar15 + -1;\n              }\n              else {\n                *pbVar15 = 0x30;\n                pbVar15 = pbVar15 + 1;\n              }\n            }" if (parenthesized_expression "(pbVar15[-1] == 0x2e)" ( (binary_expression "pbVar15[-1] == 0x2e" (subscript_expression "pbVar15[-1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              if (bVar27 == 0) {\n                pbVar15[-1] = 0;\n                pbVar15 = pbVar15 + -1;\n              }\n              else {\n                *pbVar15 = 0x30;\n                pbVar15 = pbVar15 + 1;\n              }\n            }" { (if_statement "if (bVar27 == 0) {\n                pbVar15[-1] = 0;\n                pbVar15 = pbVar15 + -1;\n              }\n              else {\n                *pbVar15 = 0x30;\n                pbVar15 = pbVar15 + 1;\n              }" if (parenthesized_expression "(bVar27 == 0)" ( (binary_expression "bVar27 == 0" identifier == number_literal) )) (compound_statement "{\n                pbVar15[-1] = 0;\n                pbVar15 = pbVar15 + -1;\n              }" { (expression_statement "pbVar15[-1] = 0;" (assignment_expression "pbVar15[-1] = 0" (subscript_expression "pbVar15[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar15 = pbVar15 + -1;" (assignment_expression "pbVar15 = pbVar15 + -1" identifier = (binary_expression "pbVar15 + -1" identifier + number_literal)) ;) }) (else_clause "else {\n                *pbVar15 = 0x30;\n                pbVar15 = pbVar15 + 1;\n              }" else (compound_statement "{\n                *pbVar15 = 0x30;\n                pbVar15 = pbVar15 + 1;\n              }" { (expression_statement "*pbVar15 = 0x30;" (assignment_expression "*pbVar15 = 0x30" (pointer_expression "*pbVar15" * identifier) = number_literal) ;) (expression_statement "pbVar15 = pbVar15 + 1;" (assignment_expression "pbVar15 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) }))) })) }))) }))) (if_statement "if (eVar37 == '\x02') {\n          pbVar26 = pbVar15 + 2;\n          *pbVar15 = "0123456789ABCDEF0123456789abcdef"[fmtinfo[iVar31].charset];\n          bVar27 = 0x2b;\n          if ((int)uVar18 < 0) {\n            uVar18 = (ulong)(uint)-(int)uVar18;\n            bVar27 = 0x2d;\n          }\n          pbVar15[1] = bVar27;\n          if (99 < (int)uVar18) {\n            pbVar26 = pbVar15 + 3;\n            pbVar15[2] = (char)(uVar18 / 100) + 0x30;\n            uVar18 = (ulong)(uint)((int)uVar18 + (int)(uVar18 / 100) * -100);\n          }\n          pbVar15 = pbVar26 + 2;\n          cVar21 = (char)(uVar18 / 10);\n          *pbVar26 = cVar21 + 0x30;\n          pbVar26[1] = (char)uVar18 + cVar21 * -10 + 0x30;\n        }" if (parenthesized_expression "(eVar37 == '\x02')" ( (binary_expression "eVar37 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n          pbVar26 = pbVar15 + 2;\n          *pbVar15 = "0123456789ABCDEF0123456789abcdef"[fmtinfo[iVar31].charset];\n          bVar27 = 0x2b;\n          if ((int)uVar18 < 0) {\n            uVar18 = (ulong)(uint)-(int)uVar18;\n            bVar27 = 0x2d;\n          }\n          pbVar15[1] = bVar27;\n          if (99 < (int)uVar18) {\n            pbVar26 = pbVar15 + 3;\n            pbVar15[2] = (char)(uVar18 / 100) + 0x30;\n            uVar18 = (ulong)(uint)((int)uVar18 + (int)(uVar18 / 100) * -100);\n          }\n          pbVar15 = pbVar26 + 2;\n          cVar21 = (char)(uVar18 / 10);\n          *pbVar26 = cVar21 + 0x30;\n          pbVar26[1] = (char)uVar18 + cVar21 * -10 + 0x30;\n        }" { (expression_statement "pbVar26 = pbVar15 + 2;" (assignment_expression "pbVar26 = pbVar15 + 2" identifier = (binary_expression "pbVar15 + 2" identifier + number_literal)) ;) (expression_statement "*pbVar15 = "0123456789ABCDEF0123456789abcdef"[fmtinfo[iVar31].charset];" (assignment_expression "*pbVar15 = "0123456789ABCDEF0123456789abcdef"[fmtinfo[iVar31].charset]" (pointer_expression "*pbVar15" * identifier) = (subscript_expression ""0123456789ABCDEF0123456789abcdef"[fmtinfo[iVar31].charset]" (string_literal ""0123456789ABCDEF0123456789abcdef"" " string_content ") [ (field_expression "fmtinfo[iVar31].charset" (subscript_expression "fmtinfo[iVar31]" identifier [ identifier ]) . field_identifier) ])) ;) (expression_statement "bVar27 = 0x2b;" (assignment_expression "bVar27 = 0x2b" identifier = number_literal) ;) (if_statement "if ((int)uVar18 < 0) {\n            uVar18 = (ulong)(uint)-(int)uVar18;\n            bVar27 = 0x2d;\n          }" if (parenthesized_expression "((int)uVar18 < 0)" ( (binary_expression "(int)uVar18 < 0" (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n            uVar18 = (ulong)(uint)-(int)uVar18;\n            bVar27 = 0x2d;\n          }" { (expression_statement "uVar18 = (ulong)(uint)-(int)uVar18;" (assignment_expression "uVar18 = (ulong)(uint)-(int)uVar18" identifier = (binary_expression "(ulong)(uint)-(int)uVar18" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) - (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "bVar27 = 0x2d;" (assignment_expression "bVar27 = 0x2d" identifier = number_literal) ;) })) (expression_statement "pbVar15[1] = bVar27;" (assignment_expression "pbVar15[1] = bVar27" (subscript_expression "pbVar15[1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (99 < (int)uVar18) {\n            pbVar26 = pbVar15 + 3;\n            pbVar15[2] = (char)(uVar18 / 100) + 0x30;\n            uVar18 = (ulong)(uint)((int)uVar18 + (int)(uVar18 / 100) * -100);\n          }" if (parenthesized_expression "(99 < (int)uVar18)" ( (binary_expression "99 < (int)uVar18" number_literal < (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            pbVar26 = pbVar15 + 3;\n            pbVar15[2] = (char)(uVar18 / 100) + 0x30;\n            uVar18 = (ulong)(uint)((int)uVar18 + (int)(uVar18 / 100) * -100);\n          }" { (expression_statement "pbVar26 = pbVar15 + 3;" (assignment_expression "pbVar26 = pbVar15 + 3" identifier = (binary_expression "pbVar15 + 3" identifier + number_literal)) ;) (expression_statement "pbVar15[2] = (char)(uVar18 / 100) + 0x30;" (assignment_expression "pbVar15[2] = (char)(uVar18 / 100) + 0x30" (subscript_expression "pbVar15[2]" identifier [ number_literal ]) = (binary_expression "(char)(uVar18 / 100) + 0x30" (cast_expression "(char)(uVar18 / 100)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar18 / 100)" ( (binary_expression "uVar18 / 100" identifier / number_literal) ))) + number_literal)) ;) (expression_statement "uVar18 = (ulong)(uint)((int)uVar18 + (int)(uVar18 / 100) * -100);" (assignment_expression "uVar18 = (ulong)(uint)((int)uVar18 + (int)(uVar18 / 100) * -100)" identifier = (call_expression "(ulong)(uint)((int)uVar18 + (int)(uVar18 / 100) * -100)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "((int)uVar18 + (int)(uVar18 / 100) * -100)" ( (binary_expression "(int)uVar18 + (int)(uVar18 / 100) * -100" (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)(uVar18 / 100) * -100" (cast_expression "(int)(uVar18 / 100)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar18 / 100)" ( (binary_expression "uVar18 / 100" identifier / number_literal) ))) * number_literal)) )))) ;) })) (expression_statement "pbVar15 = pbVar26 + 2;" (assignment_expression "pbVar15 = pbVar26 + 2" identifier = (binary_expression "pbVar26 + 2" identifier + number_literal)) ;) (expression_statement "cVar21 = (char)(uVar18 / 10);" (assignment_expression "cVar21 = (char)(uVar18 / 10)" identifier = (cast_expression "(char)(uVar18 / 10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar18 / 10)" ( (binary_expression "uVar18 / 10" identifier / number_literal) )))) ;) (expression_statement "*pbVar26 = cVar21 + 0x30;" (assignment_expression "*pbVar26 = cVar21 + 0x30" (pointer_expression "*pbVar26" * identifier) = (binary_expression "cVar21 + 0x30" identifier + number_literal)) ;) (expression_statement "pbVar26[1] = (char)uVar18 + cVar21 * -10 + 0x30;" (assignment_expression "pbVar26[1] = (char)uVar18 + cVar21 * -10 + 0x30" (subscript_expression "pbVar26[1]" identifier [ number_literal ]) = (binary_expression "(char)uVar18 + cVar21 * -10 + 0x30" (binary_expression "(char)uVar18 + cVar21 * -10" (cast_expression "(char)uVar18" ( (type_descriptor "char" primitive_type) ) identifier) + (binary_expression "cVar21 * -10" identifier * number_literal)) + number_literal)) ;) })) (expression_statement "*pbVar15 = 0;" (assignment_expression "*pbVar15 = 0" (pointer_expression "*pbVar15" * identifier) = number_literal) ;) (expression_statement "uVar22 = (int)pbVar15 - (int)pbVar41;" (assignment_expression "uVar22 = (int)pbVar15 - (int)pbVar41" identifier = (binary_expression "(int)pbVar15 - (int)pbVar41" (cast_expression "(int)pbVar15" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar41" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (!(bool)(bVar42 & (bVar7 ^ 1U))) {\n          uVar36 = uVar36 - uVar22;\n          goto LAB_0013f018;\n        }" if (parenthesized_expression "(!(bool)(bVar42 & (bVar7 ^ 1U)))" ( (unary_expression "!(bool)(bVar42 & (bVar7 ^ 1U))" ! (cast_expression "(bool)(bVar42 & (bVar7 ^ 1U))" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar42 & (bVar7 ^ 1U))" ( (binary_expression "bVar42 & (bVar7 ^ 1U)" identifier & (parenthesized_expression "(bVar7 ^ 1U)" ( (binary_expression "bVar7 ^ 1U" identifier ^ number_literal) ))) )))) )) (compound_statement "{\n          uVar36 = uVar36 - uVar22;\n          goto LAB_0013f018;\n        }" { (expression_statement "uVar36 = uVar36 - uVar22;" (assignment_expression "uVar36 = uVar36 - uVar22" identifier = (binary_expression "uVar36 - uVar22" identifier - identifier)) ;) (goto_statement "goto LAB_0013f018;" goto statement_identifier ;) })) (if_statement "if ((int)uVar22 < (int)uVar36) {\n          iVar12 = uVar36 - uVar22;\n          if (iVar12 <= (int)uVar36) {\n            do {\n              pbVar41[lVar29] = pbVar41[lVar29 - iVar12];\n              lVar29 = lVar29 + -1;\n            } while (iVar12 <= (int)lVar29);\n          }\n          pbVar15 = pbVar41 + (bVar10 != 0);\n          do {\n            *pbVar15 = 0x30;\n            pbVar15 = pbVar15 + 1;\n            uVar22 = uVar36;\n          } while (pbVar41 + (ulong)(iVar12 - 1) + (ulong)(bVar10 != 0) + 1 != pbVar15);\n        }" if (parenthesized_expression "((int)uVar22 < (int)uVar36)" ( (binary_expression "(int)uVar22 < (int)uVar36" (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar36" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          iVar12 = uVar36 - uVar22;\n          if (iVar12 <= (int)uVar36) {\n            do {\n              pbVar41[lVar29] = pbVar41[lVar29 - iVar12];\n              lVar29 = lVar29 + -1;\n            } while (iVar12 <= (int)lVar29);\n          }\n          pbVar15 = pbVar41 + (bVar10 != 0);\n          do {\n            *pbVar15 = 0x30;\n            pbVar15 = pbVar15 + 1;\n            uVar22 = uVar36;\n          } while (pbVar41 + (ulong)(iVar12 - 1) + (ulong)(bVar10 != 0) + 1 != pbVar15);\n        }" { (expression_statement "iVar12 = uVar36 - uVar22;" (assignment_expression "iVar12 = uVar36 - uVar22" identifier = (binary_expression "uVar36 - uVar22" identifier - identifier)) ;) (if_statement "if (iVar12 <= (int)uVar36) {\n            do {\n              pbVar41[lVar29] = pbVar41[lVar29 - iVar12];\n              lVar29 = lVar29 + -1;\n            } while (iVar12 <= (int)lVar29);\n          }" if (parenthesized_expression "(iVar12 <= (int)uVar36)" ( (binary_expression "iVar12 <= (int)uVar36" identifier <= (cast_expression "(int)uVar36" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            do {\n              pbVar41[lVar29] = pbVar41[lVar29 - iVar12];\n              lVar29 = lVar29 + -1;\n            } while (iVar12 <= (int)lVar29);\n          }" { (do_statement "do {\n              pbVar41[lVar29] = pbVar41[lVar29 - iVar12];\n              lVar29 = lVar29 + -1;\n            } while (iVar12 <= (int)lVar29);" do (compound_statement "{\n              pbVar41[lVar29] = pbVar41[lVar29 - iVar12];\n              lVar29 = lVar29 + -1;\n            }" { (expression_statement "pbVar41[lVar29] = pbVar41[lVar29 - iVar12];" (assignment_expression "pbVar41[lVar29] = pbVar41[lVar29 - iVar12]" (subscript_expression "pbVar41[lVar29]" identifier [ identifier ]) = (subscript_expression "pbVar41[lVar29 - iVar12]" identifier [ (binary_expression "lVar29 - iVar12" identifier - identifier) ])) ;) (expression_statement "lVar29 = lVar29 + -1;" (assignment_expression "lVar29 = lVar29 + -1" identifier = (binary_expression "lVar29 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar12 <= (int)lVar29)" ( (binary_expression "iVar12 <= (int)lVar29" identifier <= (cast_expression "(int)lVar29" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "pbVar15 = pbVar41 + (bVar10 != 0);" (assignment_expression "pbVar15 = pbVar41 + (bVar10 != 0)" identifier = (binary_expression "pbVar41 + (bVar10 != 0)" identifier + (parenthesized_expression "(bVar10 != 0)" ( (binary_expression "bVar10 != 0" identifier != number_literal) )))) ;) (do_statement "do {\n            *pbVar15 = 0x30;\n            pbVar15 = pbVar15 + 1;\n            uVar22 = uVar36;\n          } while (pbVar41 + (ulong)(iVar12 - 1) + (ulong)(bVar10 != 0) + 1 != pbVar15);" do (compound_statement "{\n            *pbVar15 = 0x30;\n            pbVar15 = pbVar15 + 1;\n            uVar22 = uVar36;\n          }" { (expression_statement "*pbVar15 = 0x30;" (assignment_expression "*pbVar15 = 0x30" (pointer_expression "*pbVar15" * identifier) = number_literal) ;) (expression_statement "pbVar15 = pbVar15 + 1;" (assignment_expression "pbVar15 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) (expression_statement "uVar22 = uVar36;" (assignment_expression "uVar22 = uVar36" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar41 + (ulong)(iVar12 - 1) + (ulong)(bVar10 != 0) + 1 != pbVar15)" ( (binary_expression "pbVar41 + (ulong)(iVar12 - 1) + (ulong)(bVar10 != 0) + 1 != pbVar15" (binary_expression "pbVar41 + (ulong)(iVar12 - 1) + (ulong)(bVar10 != 0) + 1" (binary_expression "pbVar41 + (ulong)(iVar12 - 1) + (ulong)(bVar10 != 0)" (binary_expression "pbVar41 + (ulong)(iVar12 - 1)" identifier + (call_expression "(ulong)(iVar12 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar12 - 1)" ( (binary_expression "iVar12 - 1" identifier - number_literal) )))) + (call_expression "(ulong)(bVar10 != 0)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar10 != 0)" ( (binary_expression "bVar10 != 0" identifier != number_literal) )))) + number_literal) != identifier) )) ;) })) (goto_statement "goto LAB_0013fd63;" goto statement_identifier ;)) (case_statement "case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          sqlite3_str_append(pAccum,(char *)pbVar41,0);\n          break;\n        }\n        uVar14 = pAccum->nChar;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          puVar28 = (undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area);\n          ap->gp_offset = uVar13 + 8;\n        }\n        else {\n          puVar28 = (undefined8 *)ap->overflow_arg_area;\n          ap->overflow_arg_area = puVar28 + 1;\n        }\n        *(u32 *)*puVar28 = uVar14;\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        bVar10 = pbVar30[1];\n        goto joined_r0x0013ebb8;" case (char_literal "'\x04'" ' escape_sequence ') : (if_statement "if (local_b6 != 0) {\nLAB_0013f287:\n          sqlite3_str_append(pAccum,(char *)pbVar41,0);\n          break;\n        }" if (parenthesized_expression "(local_b6 != 0)" ( (binary_expression "local_b6 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0013f287:\n          sqlite3_str_append(pAccum,(char *)pbVar41,0);\n          break;\n        }" { (labeled_statement "LAB_0013f287:\n          sqlite3_str_append(pAccum,(char *)pbVar41,0);" statement_identifier : (expression_statement "sqlite3_str_append(pAccum,(char *)pbVar41,0);" (call_expression "sqlite3_str_append(pAccum,(char *)pbVar41,0)" identifier (argument_list "(pAccum,(char *)pbVar41,0)" ( identifier , (cast_expression "(char *)pbVar41" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal ))) ;)) (break_statement "break;" break ;) })) (expression_statement "uVar14 = pAccum->nChar;" (assignment_expression "uVar14 = pAccum->nChar" identifier = (field_expression "pAccum->nChar" identifier -> field_identifier)) ;) (expression_statement "uVar13 = ap->gp_offset;" (assignment_expression "uVar13 = ap->gp_offset" identifier = (field_expression "ap->gp_offset" identifier -> field_identifier)) ;) (if_statement "if (uVar13 < 0x30) {\n          puVar28 = (undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area);\n          ap->gp_offset = uVar13 + 8;\n        }\n        else {\n          puVar28 = (undefined8 *)ap->overflow_arg_area;\n          ap->overflow_arg_area = puVar28 + 1;\n        }" if (parenthesized_expression "(uVar13 < 0x30)" ( (binary_expression "uVar13 < 0x30" identifier < number_literal) )) (compound_statement "{\n          puVar28 = (undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area);\n          ap->gp_offset = uVar13 + 8;\n        }" { (expression_statement "puVar28 = (undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area);" (assignment_expression "puVar28 = (undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area)" identifier = (cast_expression "(undefined8 *)((ulong)uVar13 + (long)ap->reg_save_area)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar13 + (long)ap->reg_save_area)" ( (binary_expression "(ulong)uVar13 + (long)ap->reg_save_area" (cast_expression "(ulong)uVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) + (cast_expression "(long)ap->reg_save_area" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "ap->reg_save_area" identifier -> field_identifier))) )))) ;) (expression_statement "ap->gp_offset = uVar13 + 8;" (assignment_expression "ap->gp_offset = uVar13 + 8" (field_expression "ap->gp_offset" identifier -> field_identifier) = (binary_expression "uVar13 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n          puVar28 = (undefined8 *)ap->overflow_arg_area;\n          ap->overflow_arg_area = puVar28 + 1;\n        }" else (compound_statement "{\n          puVar28 = (undefined8 *)ap->overflow_arg_area;\n          ap->overflow_arg_area = puVar28 + 1;\n        }" { (expression_statement "puVar28 = (undefined8 *)ap->overflow_arg_area;" (assignment_expression "puVar28 = (undefined8 *)ap->overflow_arg_area" identifier = (cast_expression "(undefined8 *)ap->overflow_arg_area" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "ap->overflow_arg_area" identifier -> field_identifier))) ;) (expression_statement "ap->overflow_arg_area = puVar28 + 1;" (assignment_expression "ap->overflow_arg_area = puVar28 + 1" (field_expression "ap->overflow_arg_area" identifier -> field_identifier) = (binary_expression "puVar28 + 1" identifier + number_literal)) ;) }))) (expression_statement "*(u32 *)*puVar28 = uVar14;" (assignment_expression "*(u32 *)*puVar28 = uVar14" (pointer_expression "*(u32 *)*puVar28" * (cast_expression "(u32 *)*puVar28" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar28" * identifier))) = identifier) ;) (expression_statement "sqlite3_str_append(pAccum,(char *)pbVar41,0);" (call_expression "sqlite3_str_append(pAccum,(char *)pbVar41,0)" identifier (argument_list "(pAccum,(char *)pbVar41,0)" ( identifier , (cast_expression "(char *)pbVar41" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal ))) ;) (expression_statement "bVar10 = pbVar30[1];" (assignment_expression "bVar10 = pbVar30[1]" identifier = (subscript_expression "pbVar30[1]" identifier [ number_literal ])) ;) (goto_statement "goto joined_r0x0013ebb8;" goto statement_identifier ;)) (case_statement "case '\x05':" case (char_literal "'\x05'" ' escape_sequence ') :) (case_statement "case '\x06':\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            ap->gp_offset = uVar22 + 8;\n            pbVar41 = *(byte **)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n            pbVar41 = (byte *)*puVar28;\n          }\n          if (pbVar41 == (byte *)0x0) goto LAB_0013fb9a;\n          if (eVar37 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar41;\n          if (((pAccum->nChar != 0) || (pAccum->mxAlloc == 0)) ||\n             ((uVar36 != 0 || (-1 < (int)uVar13)))) goto joined_r0x0013fbae;\n          if (pAccum->accError == '\0') {\n            pAccum->zText = (char *)pbVar41;\n            uVar14 = (*sqlite3Config.m.xSize)(pbVar41);\n            pAccum->nAlloc = uVar14;\n            sVar16 = strlen((char *)pbVar41);\n            pAccum->printfFlags = pAccum->printfFlags | 4;\n            pAccum->nChar = (uint)sVar16 & 0x7fffffff;\n            sqlite3_str_append(pAccum,(char *)pbVar41,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar16 = strlen((char *)pbVar41);\n          uVar22 = (uint)sVar16 & 0x7fffffff;\n          goto LAB_0013fa12;\n        }\n        pbVar41 = (byte *)getTextArg(local_d8);\n        if (pbVar41 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar41 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar13 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar15 = pbVar41;\n        if (bVar27 != 0) {\n          while ((pbVar20 = pbVar15, uVar13 = uVar13 - 1, uVar13 != 0xffffffff && (*pbVar20 != 0)))\n          {\n            pbVar15 = pbVar20 + 1;\n            if (0xbf < *pbVar20) {\n              bVar10 = pbVar20[1];\n              while ((bVar10 & 0xc0) == 0x80) {\n                pbVar15 = pbVar15 + 1;\n                bVar10 = *pbVar15;\n              }\n            }\n          }\n          uVar22 = (int)pbVar20 - (int)pbVar41;\n          bVar27 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar13 == 0) || (*pbVar41 == 0)) {\n          uVar22 = 0;\n          goto LAB_0013f018;\n        }\n        lVar34 = 1;\n        do {\n          uVar22 = (uint)lVar34;\n          if ((ulong)(uVar13 - 1) + 1 == lVar34) break;\n          pbVar15 = pbVar41 + lVar34;\n          lVar34 = lVar34 + 1;\n        } while (*pbVar15 != 0);\n        goto LAB_0013eff2;" case (char_literal "'\x06'" ' escape_sequence ') : (if_statement "if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            ap->gp_offset = uVar22 + 8;\n            pbVar41 = *(byte **)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n            pbVar41 = (byte *)*puVar28;\n          }\n          if (pbVar41 == (byte *)0x0) goto LAB_0013fb9a;\n          if (eVar37 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar41;\n          if (((pAccum->nChar != 0) || (pAccum->mxAlloc == 0)) ||\n             ((uVar36 != 0 || (-1 < (int)uVar13)))) goto joined_r0x0013fbae;\n          if (pAccum->accError == '\0') {\n            pAccum->zText = (char *)pbVar41;\n            uVar14 = (*sqlite3Config.m.xSize)(pbVar41);\n            pAccum->nAlloc = uVar14;\n            sVar16 = strlen((char *)pbVar41);\n            pAccum->printfFlags = pAccum->printfFlags | 4;\n            pAccum->nChar = (uint)sVar16 & 0x7fffffff;\n            sqlite3_str_append(pAccum,(char *)pbVar41,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar16 = strlen((char *)pbVar41);\n          uVar22 = (uint)sVar16 & 0x7fffffff;\n          goto LAB_0013fa12;\n        }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            ap->gp_offset = uVar22 + 8;\n            pbVar41 = *(byte **)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n            pbVar41 = (byte *)*puVar28;\n          }\n          if (pbVar41 == (byte *)0x0) goto LAB_0013fb9a;\n          if (eVar37 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar41;\n          if (((pAccum->nChar != 0) || (pAccum->mxAlloc == 0)) ||\n             ((uVar36 != 0 || (-1 < (int)uVar13)))) goto joined_r0x0013fbae;\n          if (pAccum->accError == '\0') {\n            pAccum->zText = (char *)pbVar41;\n            uVar14 = (*sqlite3Config.m.xSize)(pbVar41);\n            pAccum->nAlloc = uVar14;\n            sVar16 = strlen((char *)pbVar41);\n            pAccum->printfFlags = pAccum->printfFlags | 4;\n            pAccum->nChar = (uint)sVar16 & 0x7fffffff;\n            sqlite3_str_append(pAccum,(char *)pbVar41,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar16 = strlen((char *)pbVar41);\n          uVar22 = (uint)sVar16 & 0x7fffffff;\n          goto LAB_0013fa12;\n        }" { (expression_statement "uVar22 = ap->gp_offset;" (assignment_expression "uVar22 = ap->gp_offset" identifier = (field_expression "ap->gp_offset" identifier -> field_identifier)) ;) (if_statement "if (uVar22 < 0x30) {\n            ap->gp_offset = uVar22 + 8;\n            pbVar41 = *(byte **)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n            pbVar41 = (byte *)*puVar28;\n          }" if (parenthesized_expression "(uVar22 < 0x30)" ( (binary_expression "uVar22 < 0x30" identifier < number_literal) )) (compound_statement "{\n            ap->gp_offset = uVar22 + 8;\n            pbVar41 = *(byte **)((ulong)uVar22 + (long)ap->reg_save_area);\n          }" { (expression_statement "ap->gp_offset = uVar22 + 8;" (assignment_expression "ap->gp_offset = uVar22 + 8" (field_expression "ap->gp_offset" identifier -> field_identifier) = (binary_expression "uVar22 + 8" identifier + number_literal)) ;) (expression_statement "pbVar41 = *(byte **)((ulong)uVar22 + (long)ap->reg_save_area);" (assignment_expression "pbVar41 = *(byte **)((ulong)uVar22 + (long)ap->reg_save_area)" identifier = (pointer_expression "*(byte **)((ulong)uVar22 + (long)ap->reg_save_area)" * (cast_expression "(byte **)((ulong)uVar22 + (long)ap->reg_save_area)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((ulong)uVar22 + (long)ap->reg_save_area)" ( (binary_expression "(ulong)uVar22 + (long)ap->reg_save_area" (cast_expression "(ulong)uVar22" ( (type_descriptor "ulong" type_identifier) ) identifier) + (cast_expression "(long)ap->reg_save_area" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "ap->reg_save_area" identifier -> field_identifier))) ))))) ;) }) (else_clause "else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n            pbVar41 = (byte *)*puVar28;\n          }" else (compound_statement "{\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n            pbVar41 = (byte *)*puVar28;\n          }" { (expression_statement "puVar28 = (undefined8 *)ap->overflow_arg_area;" (assignment_expression "puVar28 = (undefined8 *)ap->overflow_arg_area" identifier = (cast_expression "(undefined8 *)ap->overflow_arg_area" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "ap->overflow_arg_area" identifier -> field_identifier))) ;) (expression_statement "ap->overflow_arg_area = puVar28 + 1;" (assignment_expression "ap->overflow_arg_area = puVar28 + 1" (field_expression "ap->overflow_arg_area" identifier -> field_identifier) = (binary_expression "puVar28 + 1" identifier + number_literal)) ;) (expression_statement "pbVar41 = (byte *)*puVar28;" (assignment_expression "pbVar41 = (byte *)*puVar28" identifier = (cast_expression "(byte *)*puVar28" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar28" * identifier))) ;) }))) (if_statement "if (pbVar41 == (byte *)0x0) goto LAB_0013fb9a;" if (parenthesized_expression "(pbVar41 == (byte *)0x0)" ( (binary_expression "pbVar41 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0013fb9a;" goto statement_identifier ;)) (if_statement "if (eVar37 != '\x06') goto LAB_0013f840;" if (parenthesized_expression "(eVar37 != '\x06')" ( (binary_expression "eVar37 != '\x06'" identifier != (char_literal "'\x06'" ' escape_sequence ')) )) (goto_statement "goto LAB_0013f840;" goto statement_identifier ;)) (expression_statement "local_e0 = pbVar41;" (assignment_expression "local_e0 = pbVar41" identifier = identifier) ;) (if_statement "if (((pAccum->nChar != 0) || (pAccum->mxAlloc == 0)) ||\n             ((uVar36 != 0 || (-1 < (int)uVar13)))) goto joined_r0x0013fbae;" if (parenthesized_expression "(((pAccum->nChar != 0) || (pAccum->mxAlloc == 0)) ||\n             ((uVar36 != 0 || (-1 < (int)uVar13))))" ( (binary_expression "((pAccum->nChar != 0) || (pAccum->mxAlloc == 0)) ||\n             ((uVar36 != 0 || (-1 < (int)uVar13)))" (parenthesized_expression "((pAccum->nChar != 0) || (pAccum->mxAlloc == 0))" ( (binary_expression "(pAccum->nChar != 0) || (pAccum->mxAlloc == 0)" (parenthesized_expression "(pAccum->nChar != 0)" ( (binary_expression "pAccum->nChar != 0" (field_expression "pAccum->nChar" identifier -> field_identifier) != number_literal) )) || (parenthesized_expression "(pAccum->mxAlloc == 0)" ( (binary_expression "pAccum->mxAlloc == 0" (field_expression "pAccum->mxAlloc" identifier -> field_identifier) == number_literal) ))) )) || (parenthesized_expression "((uVar36 != 0 || (-1 < (int)uVar13)))" ( (parenthesized_expression "(uVar36 != 0 || (-1 < (int)uVar13))" ( (binary_expression "uVar36 != 0 || (-1 < (int)uVar13)" (binary_expression "uVar36 != 0" identifier != number_literal) || (parenthesized_expression "(-1 < (int)uVar13)" ( (binary_expression "-1 < (int)uVar13" number_literal < (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) ))) )) (goto_statement "goto joined_r0x0013fbae;" goto statement_identifier ;)) (if_statement "if (pAccum->accError == '\0') {\n            pAccum->zText = (char *)pbVar41;\n            uVar14 = (*sqlite3Config.m.xSize)(pbVar41);\n            pAccum->nAlloc = uVar14;\n            sVar16 = strlen((char *)pbVar41);\n            pAccum->printfFlags = pAccum->printfFlags | 4;\n            pAccum->nChar = (uint)sVar16 & 0x7fffffff;\n            sqlite3_str_append(pAccum,(char *)pbVar41,0);\n            break;\n          }" if (parenthesized_expression "(pAccum->accError == '\0')" ( (binary_expression "pAccum->accError == '\0'" (field_expression "pAccum->accError" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            pAccum->zText = (char *)pbVar41;\n            uVar14 = (*sqlite3Config.m.xSize)(pbVar41);\n            pAccum->nAlloc = uVar14;\n            sVar16 = strlen((char *)pbVar41);\n            pAccum->printfFlags = pAccum->printfFlags | 4;\n            pAccum->nChar = (uint)sVar16 & 0x7fffffff;\n            sqlite3_str_append(pAccum,(char *)pbVar41,0);\n            break;\n          }" { (expression_statement "pAccum->zText = (char *)pbVar41;" (assignment_expression "pAccum->zText = (char *)pbVar41" (field_expression "pAccum->zText" identifier -> field_identifier) = (cast_expression "(char *)pbVar41" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar14 = (*sqlite3Config.m.xSize)(pbVar41);" (assignment_expression "uVar14 = (*sqlite3Config.m.xSize)(pbVar41)" identifier = (call_expression "(*sqlite3Config.m.xSize)(pbVar41)" (parenthesized_expression "(*sqlite3Config.m.xSize)" ( (pointer_expression "*sqlite3Config.m.xSize" * (field_expression "sqlite3Config.m.xSize" (field_expression "sqlite3Config.m" identifier . field_identifier) . field_identifier)) )) (argument_list "(pbVar41)" ( identifier )))) ;) (expression_statement "pAccum->nAlloc = uVar14;" (assignment_expression "pAccum->nAlloc = uVar14" (field_expression "pAccum->nAlloc" identifier -> field_identifier) = identifier) ;) (expression_statement "sVar16 = strlen((char *)pbVar41);" (assignment_expression "sVar16 = strlen((char *)pbVar41)" identifier = (call_expression "strlen((char *)pbVar41)" identifier (argument_list "((char *)pbVar41)" ( (cast_expression "(char *)pbVar41" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "pAccum->printfFlags = pAccum->printfFlags | 4;" (assignment_expression "pAccum->printfFlags = pAccum->printfFlags | 4" (field_expression "pAccum->printfFlags" identifier -> field_identifier) = (binary_expression "pAccum->printfFlags | 4" (field_expression "pAccum->printfFlags" identifier -> field_identifier) | number_literal)) ;) (expression_statement "pAccum->nChar = (uint)sVar16 & 0x7fffffff;" (assignment_expression "pAccum->nChar = (uint)sVar16 & 0x7fffffff" (field_expression "pAccum->nChar" identifier -> field_identifier) = (binary_expression "(uint)sVar16 & 0x7fffffff" (cast_expression "(uint)sVar16" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "sqlite3_str_append(pAccum,(char *)pbVar41,0);" (call_expression "sqlite3_str_append(pAccum,(char *)pbVar41,0)" identifier (argument_list "(pAccum,(char *)pbVar41,0)" ( identifier , (cast_expression "(char *)pbVar41" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal ))) ;) (break_statement "break;" break ;) })) (labeled_statement "LAB_0013fbb4:\n          sVar16 = strlen((char *)pbVar41);" statement_identifier : (expression_statement "sVar16 = strlen((char *)pbVar41);" (assignment_expression "sVar16 = strlen((char *)pbVar41)" identifier = (call_expression "strlen((char *)pbVar41)" identifier (argument_list "((char *)pbVar41)" ( (cast_expression "(char *)pbVar41" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;)) (expression_statement "uVar22 = (uint)sVar16 & 0x7fffffff;" (assignment_expression "uVar22 = (uint)sVar16 & 0x7fffffff" identifier = (binary_expression "(uint)sVar16 & 0x7fffffff" (cast_expression "(uint)sVar16" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (goto_statement "goto LAB_0013fa12;" goto statement_identifier ;) })) (expression_statement "pbVar41 = (byte *)getTextArg(local_d8);" (assignment_expression "pbVar41 = (byte *)getTextArg(local_d8)" identifier = (cast_expression "(byte *)getTextArg(local_d8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "getTextArg(local_d8)" identifier (argument_list "(local_d8)" ( identifier ))))) ;) (if_statement "if (pbVar41 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar41 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }" if (parenthesized_expression "(pbVar41 == (byte *)0x0)" ( (binary_expression "pbVar41 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar41 = &DAT_001e836f;\n        }" { (labeled_statement "LAB_0013fb9a:\n          local_e0 = (byte *)0x0;" statement_identifier : (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pbVar41 = &DAT_001e836f;" (assignment_expression "pbVar41 = &DAT_001e836f" identifier = (pointer_expression "&DAT_001e836f" & identifier)) ;) }) (else_clause "else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }" else (compound_statement "{\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }" { (labeled_statement "LAB_0013f840:\n          local_e0 = (byte *)0x0;" statement_identifier : (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }))) (labeled_statement "joined_r0x0013fbae:\n        if (uVar13 == 0xffffffff) goto LAB_0013fbb4;" statement_identifier : (if_statement "if (uVar13 == 0xffffffff) goto LAB_0013fbb4;" if (parenthesized_expression "(uVar13 == 0xffffffff)" ( (binary_expression "uVar13 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_0013fbb4;" goto statement_identifier ;))) (expression_statement "pbVar15 = pbVar41;" (assignment_expression "pbVar15 = pbVar41" identifier = identifier) ;) (if_statement "if (bVar27 != 0) {\n          while ((pbVar20 = pbVar15, uVar13 = uVar13 - 1, uVar13 != 0xffffffff && (*pbVar20 != 0)))\n          {\n            pbVar15 = pbVar20 + 1;\n            if (0xbf < *pbVar20) {\n              bVar10 = pbVar20[1];\n              while ((bVar10 & 0xc0) == 0x80) {\n                pbVar15 = pbVar15 + 1;\n                bVar10 = *pbVar15;\n              }\n            }\n          }\n          uVar22 = (int)pbVar20 - (int)pbVar41;\n          bVar27 = 1;\n          goto LAB_0013fa12;\n        }" if (parenthesized_expression "(bVar27 != 0)" ( (binary_expression "bVar27 != 0" identifier != number_literal) )) (compound_statement "{\n          while ((pbVar20 = pbVar15, uVar13 = uVar13 - 1, uVar13 != 0xffffffff && (*pbVar20 != 0)))\n          {\n            pbVar15 = pbVar20 + 1;\n            if (0xbf < *pbVar20) {\n              bVar10 = pbVar20[1];\n              while ((bVar10 & 0xc0) == 0x80) {\n                pbVar15 = pbVar15 + 1;\n                bVar10 = *pbVar15;\n              }\n            }\n          }\n          uVar22 = (int)pbVar20 - (int)pbVar41;\n          bVar27 = 1;\n          goto LAB_0013fa12;\n        }" { (while_statement "while ((pbVar20 = pbVar15, uVar13 = uVar13 - 1, uVar13 != 0xffffffff && (*pbVar20 != 0)))\n          {\n            pbVar15 = pbVar20 + 1;\n            if (0xbf < *pbVar20) {\n              bVar10 = pbVar20[1];\n              while ((bVar10 & 0xc0) == 0x80) {\n                pbVar15 = pbVar15 + 1;\n                bVar10 = *pbVar15;\n              }\n            }\n          }" while (parenthesized_expression "((pbVar20 = pbVar15, uVar13 = uVar13 - 1, uVar13 != 0xffffffff && (*pbVar20 != 0)))" ( (parenthesized_expression "(pbVar20 = pbVar15, uVar13 = uVar13 - 1, uVar13 != 0xffffffff && (*pbVar20 != 0))" ( (comma_expression "pbVar20 = pbVar15, uVar13 = uVar13 - 1, uVar13 != 0xffffffff && (*pbVar20 != 0)" (assignment_expression "pbVar20 = pbVar15" identifier = identifier) , (comma_expression "uVar13 = uVar13 - 1, uVar13 != 0xffffffff && (*pbVar20 != 0)" (assignment_expression "uVar13 = uVar13 - 1" identifier = (binary_expression "uVar13 - 1" identifier - number_literal)) , (binary_expression "uVar13 != 0xffffffff && (*pbVar20 != 0)" (binary_expression "uVar13 != 0xffffffff" identifier != number_literal) && (parenthesized_expression "(*pbVar20 != 0)" ( (binary_expression "*pbVar20 != 0" (pointer_expression "*pbVar20" * identifier) != number_literal) ))))) )) )) (compound_statement "{\n            pbVar15 = pbVar20 + 1;\n            if (0xbf < *pbVar20) {\n              bVar10 = pbVar20[1];\n              while ((bVar10 & 0xc0) == 0x80) {\n                pbVar15 = pbVar15 + 1;\n                bVar10 = *pbVar15;\n              }\n            }\n          }" { (expression_statement "pbVar15 = pbVar20 + 1;" (assignment_expression "pbVar15 = pbVar20 + 1" identifier = (binary_expression "pbVar20 + 1" identifier + number_literal)) ;) (if_statement "if (0xbf < *pbVar20) {\n              bVar10 = pbVar20[1];\n              while ((bVar10 & 0xc0) == 0x80) {\n                pbVar15 = pbVar15 + 1;\n                bVar10 = *pbVar15;\n              }\n            }" if (parenthesized_expression "(0xbf < *pbVar20)" ( (binary_expression "0xbf < *pbVar20" number_literal < (pointer_expression "*pbVar20" * identifier)) )) (compound_statement "{\n              bVar10 = pbVar20[1];\n              while ((bVar10 & 0xc0) == 0x80) {\n                pbVar15 = pbVar15 + 1;\n                bVar10 = *pbVar15;\n              }\n            }" { (expression_statement "bVar10 = pbVar20[1];" (assignment_expression "bVar10 = pbVar20[1]" identifier = (subscript_expression "pbVar20[1]" identifier [ number_literal ])) ;) (while_statement "while ((bVar10 & 0xc0) == 0x80) {\n                pbVar15 = pbVar15 + 1;\n                bVar10 = *pbVar15;\n              }" while (parenthesized_expression "((bVar10 & 0xc0) == 0x80)" ( (binary_expression "(bVar10 & 0xc0) == 0x80" (parenthesized_expression "(bVar10 & 0xc0)" ( (binary_expression "bVar10 & 0xc0" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                pbVar15 = pbVar15 + 1;\n                bVar10 = *pbVar15;\n              }" { (expression_statement "pbVar15 = pbVar15 + 1;" (assignment_expression "pbVar15 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar15;" (assignment_expression "bVar10 = *pbVar15" identifier = (pointer_expression "*pbVar15" * identifier)) ;) })) })) })) (expression_statement "uVar22 = (int)pbVar20 - (int)pbVar41;" (assignment_expression "uVar22 = (int)pbVar20 - (int)pbVar41" identifier = (binary_expression "(int)pbVar20 - (int)pbVar41" (cast_expression "(int)pbVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar41" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "bVar27 = 1;" (assignment_expression "bVar27 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0013fa12;" goto statement_identifier ;) })) (if_statement "if ((uVar13 == 0) || (*pbVar41 == 0)) {\n          uVar22 = 0;\n          goto LAB_0013f018;\n        }" if (parenthesized_expression "((uVar13 == 0) || (*pbVar41 == 0))" ( (binary_expression "(uVar13 == 0) || (*pbVar41 == 0)" (parenthesized_expression "(uVar13 == 0)" ( (binary_expression "uVar13 == 0" identifier == number_literal) )) || (parenthesized_expression "(*pbVar41 == 0)" ( (binary_expression "*pbVar41 == 0" (pointer_expression "*pbVar41" * identifier) == number_literal) ))) )) (compound_statement "{\n          uVar22 = 0;\n          goto LAB_0013f018;\n        }" { (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0013f018;" goto statement_identifier ;) })) (expression_statement "lVar34 = 1;" (assignment_expression "lVar34 = 1" identifier = number_literal) ;) (do_statement "do {\n          uVar22 = (uint)lVar34;\n          if ((ulong)(uVar13 - 1) + 1 == lVar34) break;\n          pbVar15 = pbVar41 + lVar34;\n          lVar34 = lVar34 + 1;\n        } while (*pbVar15 != 0);" do (compound_statement "{\n          uVar22 = (uint)lVar34;\n          if ((ulong)(uVar13 - 1) + 1 == lVar34) break;\n          pbVar15 = pbVar41 + lVar34;\n          lVar34 = lVar34 + 1;\n        }" { (expression_statement "uVar22 = (uint)lVar34;" (assignment_expression "uVar22 = (uint)lVar34" identifier = (cast_expression "(uint)lVar34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((ulong)(uVar13 - 1) + 1 == lVar34) break;" if (parenthesized_expression "((ulong)(uVar13 - 1) + 1 == lVar34)" ( (binary_expression "(ulong)(uVar13 - 1) + 1 == lVar34" (binary_expression "(ulong)(uVar13 - 1) + 1" (call_expression "(ulong)(uVar13 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar13 - 1)" ( (binary_expression "uVar13 - 1" identifier - number_literal) ))) + number_literal) == identifier) )) (break_statement "break;" break ;)) (expression_statement "pbVar15 = pbVar41 + lVar34;" (assignment_expression "pbVar15 = pbVar41 + lVar34" identifier = (binary_expression "pbVar41 + lVar34" identifier + identifier)) ;) (expression_statement "lVar34 = lVar34 + 1;" (assignment_expression "lVar34 = lVar34 + 1" identifier = (binary_expression "lVar34 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pbVar15 != 0)" ( (binary_expression "*pbVar15 != 0" (pointer_expression "*pbVar15" * identifier) != number_literal) )) ;) (goto_statement "goto LAB_0013eff2;" goto statement_identifier ;)) (case_statement "case '\a':\n        buf[0] = '%';\n        uVar36 = uVar36 - 1;\n        pbVar41 = (byte *)buf;\n        uVar22 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;" case (char_literal "'\a'" ' escape_sequence ') : (expression_statement "buf[0] = '%';" (assignment_expression "buf[0] = '%'" (subscript_expression "buf[0]" identifier [ number_literal ]) = (char_literal "'%'" ' character ')) ;) (expression_statement "uVar36 = uVar36 - 1;" (assignment_expression "uVar36 = uVar36 - 1" identifier = (binary_expression "uVar36 - 1" identifier - number_literal)) ;) (expression_statement "pbVar41 = (byte *)buf;" (assignment_expression "pbVar41 = (byte *)buf" identifier = (cast_expression "(byte *)buf" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar22 = 1;" (assignment_expression "uVar22 = 1" identifier = number_literal) ;) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0013f018;" goto statement_identifier ;)) (case_statement "case '\b':\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            ap->gp_offset = uVar22 + 8;\n            uVar1 = *(uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            puVar33 = (uint *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar33 + 2;\n            uVar1 = *puVar33;\n          }\n          if (uVar1 < 0x80) {\n            buf[0] = (byte)uVar1;\n            uVar22 = 1;\n          }\n          else {\n            cVar21 = ((byte)uVar1 & 0x3f) + 0x80;\n            bVar10 = (byte)(uVar1 >> 6);\n            if (uVar1 < 0x800) {\n              buf[1] = cVar21;\n              uVar22 = 2;\n              buf[0] = bVar10 - 0x40;\n            }\n            else {\n              buf[2] = (bVar10 & 0x3f) + 0x80;\n              bVar10 = (byte)(uVar1 >> 0xc);\n              if (uVar1 < 0x10000) {\n                buf[1] = buf[2];\n                uVar22 = 3;\n                buf[0] = bVar10 - 0x20;\n                buf[2] = cVar21;\n              }\n              else {\n                uVar22 = 4;\n                buf[3] = cVar21;\n                buf[0] = ((byte)(uVar1 >> 0x12) & 7) - 0x10;\n                buf[1] = (bVar10 & 0x3f) + 0x80;\n              }\n            }\n          }\n        }\n        else {\n          pbVar41 = (byte *)getTextArg(local_d8);\n          if (pbVar41 == (byte *)0x0) {\n            buf[0] = '\0';\n          }\n          else {\n            buf[0] = *pbVar41;\n            if ((*pbVar41 & 0xc0) == 0xc0) {\n              lVar34 = 1;\n              do {\n                uVar22 = (uint)lVar34;\n                if ((pbVar41[lVar34] & 0xc0) != 0x80) goto joined_r0x0013fa79;\n                buf[lVar34] = pbVar41[lVar34];\n                lVar34 = lVar34 + 1;\n              } while (lVar34 != 4);\n              uVar22 = 4;\n              goto joined_r0x0013fa79;\n            }\n          }\n          uVar22 = 1;\n        }\njoined_r0x0013fa79:\n        if (1 < (int)uVar13) {\n          iVar12 = uVar13 - 1;\n          uVar36 = uVar36 - iVar12;\n          if (((int)uVar36 < 2) || (bVar7)) {\n            local_e0 = (byte *)(ulong)uVar36;\n          }\n          else {\n            sqlite3_str_appendchar(pAccum,uVar36 - 1,' ');\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            sqlite3_str_append(pAccum,buf,uVar22);\n            iVar12 = iVar12 + -1;\n          } while (iVar12 != 0);\n          pbVar26 = local_e0;\n          uVar36 = (uint)local_e0;\n        }\n        if (0 < (int)uVar36) {\n          pbVar41 = (byte *)buf;\n          local_e0 = (byte *)0x0;\n          iVar12 = uVar22 - 1;\n          goto LAB_0013efc6;\n        }\n        pbVar41 = (byte *)buf;\n        sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);\n        break;" case (char_literal "'\b'" ' escape_sequence ') : (if_statement "if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            ap->gp_offset = uVar22 + 8;\n            uVar1 = *(uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            puVar33 = (uint *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar33 + 2;\n            uVar1 = *puVar33;\n          }\n          if (uVar1 < 0x80) {\n            buf[0] = (byte)uVar1;\n            uVar22 = 1;\n          }\n          else {\n            cVar21 = ((byte)uVar1 & 0x3f) + 0x80;\n            bVar10 = (byte)(uVar1 >> 6);\n            if (uVar1 < 0x800) {\n              buf[1] = cVar21;\n              uVar22 = 2;\n              buf[0] = bVar10 - 0x40;\n            }\n            else {\n              buf[2] = (bVar10 & 0x3f) + 0x80;\n              bVar10 = (byte)(uVar1 >> 0xc);\n              if (uVar1 < 0x10000) {\n                buf[1] = buf[2];\n                uVar22 = 3;\n                buf[0] = bVar10 - 0x20;\n                buf[2] = cVar21;\n              }\n              else {\n                uVar22 = 4;\n                buf[3] = cVar21;\n                buf[0] = ((byte)(uVar1 >> 0x12) & 7) - 0x10;\n                buf[1] = (bVar10 & 0x3f) + 0x80;\n              }\n            }\n          }\n        }\n        else {\n          pbVar41 = (byte *)getTextArg(local_d8);\n          if (pbVar41 == (byte *)0x0) {\n            buf[0] = '\0';\n          }\n          else {\n            buf[0] = *pbVar41;\n            if ((*pbVar41 & 0xc0) == 0xc0) {\n              lVar34 = 1;\n              do {\n                uVar22 = (uint)lVar34;\n                if ((pbVar41[lVar34] & 0xc0) != 0x80) goto joined_r0x0013fa79;\n                buf[lVar34] = pbVar41[lVar34];\n                lVar34 = lVar34 + 1;\n              } while (lVar34 != 4);\n              uVar22 = 4;\n              goto joined_r0x0013fa79;\n            }\n          }\n          uVar22 = 1;\n        }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            ap->gp_offset = uVar22 + 8;\n            uVar1 = *(uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            puVar33 = (uint *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar33 + 2;\n            uVar1 = *puVar33;\n          }\n          if (uVar1 < 0x80) {\n            buf[0] = (byte)uVar1;\n            uVar22 = 1;\n          }\n          else {\n            cVar21 = ((byte)uVar1 & 0x3f) + 0x80;\n            bVar10 = (byte)(uVar1 >> 6);\n            if (uVar1 < 0x800) {\n              buf[1] = cVar21;\n              uVar22 = 2;\n              buf[0] = bVar10 - 0x40;\n            }\n            else {\n              buf[2] = (bVar10 & 0x3f) + 0x80;\n              bVar10 = (byte)(uVar1 >> 0xc);\n              if (uVar1 < 0x10000) {\n                buf[1] = buf[2];\n                uVar22 = 3;\n                buf[0] = bVar10 - 0x20;\n                buf[2] = cVar21;\n              }\n              else {\n                uVar22 = 4;\n                buf[3] = cVar21;\n                buf[0] = ((byte)(uVar1 >> 0x12) & 7) - 0x10;\n                buf[1] = (bVar10 & 0x3f) + 0x80;\n              }\n            }\n          }\n        }" { (expression_statement "uVar22 = ap->gp_offset;" (assignment_expression "uVar22 = ap->gp_offset" identifier = (field_expression "ap->gp_offset" identifier -> field_identifier)) ;) (if_statement "if (uVar22 < 0x30) {\n            ap->gp_offset = uVar22 + 8;\n            uVar1 = *(uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }\n          else {\n            puVar33 = (uint *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar33 + 2;\n            uVar1 = *puVar33;\n          }" if (parenthesized_expression "(uVar22 < 0x30)" ( (binary_expression "uVar22 < 0x30" identifier < number_literal) )) (compound_statement "{\n            ap->gp_offset = uVar22 + 8;\n            uVar1 = *(uint *)((ulong)uVar22 + (long)ap->reg_save_area);\n          }" { (expression_statement "ap->gp_offset = uVar22 + 8;" (assignment_expression "ap->gp_offset = uVar22 + 8" (field_expression "ap->gp_offset" identifier -> field_identifier) = (binary_expression "uVar22 + 8" identifier + number_literal)) ;) (expression_statement "uVar1 = *(uint *)((ulong)uVar22 + (long)ap->reg_save_area);" (assignment_expression "uVar1 = *(uint *)((ulong)uVar22 + (long)ap->reg_save_area)" identifier = (pointer_expression "*(uint *)((ulong)uVar22 + (long)ap->reg_save_area)" * (cast_expression "(uint *)((ulong)uVar22 + (long)ap->reg_save_area)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar22 + (long)ap->reg_save_area)" ( (binary_expression "(ulong)uVar22 + (long)ap->reg_save_area" (cast_expression "(ulong)uVar22" ( (type_descriptor "ulong" type_identifier) ) identifier) + (cast_expression "(long)ap->reg_save_area" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "ap->reg_save_area" identifier -> field_identifier))) ))))) ;) }) (else_clause "else {\n            puVar33 = (uint *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar33 + 2;\n            uVar1 = *puVar33;\n          }" else (compound_statement "{\n            puVar33 = (uint *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar33 + 2;\n            uVar1 = *puVar33;\n          }" { (expression_statement "puVar33 = (uint *)ap->overflow_arg_area;" (assignment_expression "puVar33 = (uint *)ap->overflow_arg_area" identifier = (cast_expression "(uint *)ap->overflow_arg_area" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "ap->overflow_arg_area" identifier -> field_identifier))) ;) (expression_statement "ap->overflow_arg_area = puVar33 + 2;" (assignment_expression "ap->overflow_arg_area = puVar33 + 2" (field_expression "ap->overflow_arg_area" identifier -> field_identifier) = (binary_expression "puVar33 + 2" identifier + number_literal)) ;) (expression_statement "uVar1 = *puVar33;" (assignment_expression "uVar1 = *puVar33" identifier = (pointer_expression "*puVar33" * identifier)) ;) }))) (if_statement "if (uVar1 < 0x80) {\n            buf[0] = (byte)uVar1;\n            uVar22 = 1;\n          }\n          else {\n            cVar21 = ((byte)uVar1 & 0x3f) + 0x80;\n            bVar10 = (byte)(uVar1 >> 6);\n            if (uVar1 < 0x800) {\n              buf[1] = cVar21;\n              uVar22 = 2;\n              buf[0] = bVar10 - 0x40;\n            }\n            else {\n              buf[2] = (bVar10 & 0x3f) + 0x80;\n              bVar10 = (byte)(uVar1 >> 0xc);\n              if (uVar1 < 0x10000) {\n                buf[1] = buf[2];\n                uVar22 = 3;\n                buf[0] = bVar10 - 0x20;\n                buf[2] = cVar21;\n              }\n              else {\n                uVar22 = 4;\n                buf[3] = cVar21;\n                buf[0] = ((byte)(uVar1 >> 0x12) & 7) - 0x10;\n                buf[1] = (bVar10 & 0x3f) + 0x80;\n              }\n            }\n          }" if (parenthesized_expression "(uVar1 < 0x80)" ( (binary_expression "uVar1 < 0x80" identifier < number_literal) )) (compound_statement "{\n            buf[0] = (byte)uVar1;\n            uVar22 = 1;\n          }" { (expression_statement "buf[0] = (byte)uVar1;" (assignment_expression "buf[0] = (byte)uVar1" (subscript_expression "buf[0]" identifier [ number_literal ]) = (cast_expression "(byte)uVar1" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar22 = 1;" (assignment_expression "uVar22 = 1" identifier = number_literal) ;) }) (else_clause "else {\n            cVar21 = ((byte)uVar1 & 0x3f) + 0x80;\n            bVar10 = (byte)(uVar1 >> 6);\n            if (uVar1 < 0x800) {\n              buf[1] = cVar21;\n              uVar22 = 2;\n              buf[0] = bVar10 - 0x40;\n            }\n            else {\n              buf[2] = (bVar10 & 0x3f) + 0x80;\n              bVar10 = (byte)(uVar1 >> 0xc);\n              if (uVar1 < 0x10000) {\n                buf[1] = buf[2];\n                uVar22 = 3;\n                buf[0] = bVar10 - 0x20;\n                buf[2] = cVar21;\n              }\n              else {\n                uVar22 = 4;\n                buf[3] = cVar21;\n                buf[0] = ((byte)(uVar1 >> 0x12) & 7) - 0x10;\n                buf[1] = (bVar10 & 0x3f) + 0x80;\n              }\n            }\n          }" else (compound_statement "{\n            cVar21 = ((byte)uVar1 & 0x3f) + 0x80;\n            bVar10 = (byte)(uVar1 >> 6);\n            if (uVar1 < 0x800) {\n              buf[1] = cVar21;\n              uVar22 = 2;\n              buf[0] = bVar10 - 0x40;\n            }\n            else {\n              buf[2] = (bVar10 & 0x3f) + 0x80;\n              bVar10 = (byte)(uVar1 >> 0xc);\n              if (uVar1 < 0x10000) {\n                buf[1] = buf[2];\n                uVar22 = 3;\n                buf[0] = bVar10 - 0x20;\n                buf[2] = cVar21;\n              }\n              else {\n                uVar22 = 4;\n                buf[3] = cVar21;\n                buf[0] = ((byte)(uVar1 >> 0x12) & 7) - 0x10;\n                buf[1] = (bVar10 & 0x3f) + 0x80;\n              }\n            }\n          }" { (expression_statement "cVar21 = ((byte)uVar1 & 0x3f) + 0x80;" (assignment_expression "cVar21 = ((byte)uVar1 & 0x3f) + 0x80" identifier = (binary_expression "((byte)uVar1 & 0x3f) + 0x80" (parenthesized_expression "((byte)uVar1 & 0x3f)" ( (binary_expression "(byte)uVar1 & 0x3f" (cast_expression "(byte)uVar1" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) + number_literal)) ;) (expression_statement "bVar10 = (byte)(uVar1 >> 6);" (assignment_expression "bVar10 = (byte)(uVar1 >> 6)" identifier = (call_expression "(byte)(uVar1 >> 6)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar1 >> 6)" ( (binary_expression "uVar1 >> 6" identifier >> number_literal) )))) ;) (if_statement "if (uVar1 < 0x800) {\n              buf[1] = cVar21;\n              uVar22 = 2;\n              buf[0] = bVar10 - 0x40;\n            }\n            else {\n              buf[2] = (bVar10 & 0x3f) + 0x80;\n              bVar10 = (byte)(uVar1 >> 0xc);\n              if (uVar1 < 0x10000) {\n                buf[1] = buf[2];\n                uVar22 = 3;\n                buf[0] = bVar10 - 0x20;\n                buf[2] = cVar21;\n              }\n              else {\n                uVar22 = 4;\n                buf[3] = cVar21;\n                buf[0] = ((byte)(uVar1 >> 0x12) & 7) - 0x10;\n                buf[1] = (bVar10 & 0x3f) + 0x80;\n              }\n            }" if (parenthesized_expression "(uVar1 < 0x800)" ( (binary_expression "uVar1 < 0x800" identifier < number_literal) )) (compound_statement "{\n              buf[1] = cVar21;\n              uVar22 = 2;\n              buf[0] = bVar10 - 0x40;\n            }" { (expression_statement "buf[1] = cVar21;" (assignment_expression "buf[1] = cVar21" (subscript_expression "buf[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar22 = 2;" (assignment_expression "uVar22 = 2" identifier = number_literal) ;) (expression_statement "buf[0] = bVar10 - 0x40;" (assignment_expression "buf[0] = bVar10 - 0x40" (subscript_expression "buf[0]" identifier [ number_literal ]) = (binary_expression "bVar10 - 0x40" identifier - number_literal)) ;) }) (else_clause "else {\n              buf[2] = (bVar10 & 0x3f) + 0x80;\n              bVar10 = (byte)(uVar1 >> 0xc);\n              if (uVar1 < 0x10000) {\n                buf[1] = buf[2];\n                uVar22 = 3;\n                buf[0] = bVar10 - 0x20;\n                buf[2] = cVar21;\n              }\n              else {\n                uVar22 = 4;\n                buf[3] = cVar21;\n                buf[0] = ((byte)(uVar1 >> 0x12) & 7) - 0x10;\n                buf[1] = (bVar10 & 0x3f) + 0x80;\n              }\n            }" else (compound_statement "{\n              buf[2] = (bVar10 & 0x3f) + 0x80;\n              bVar10 = (byte)(uVar1 >> 0xc);\n              if (uVar1 < 0x10000) {\n                buf[1] = buf[2];\n                uVar22 = 3;\n                buf[0] = bVar10 - 0x20;\n                buf[2] = cVar21;\n              }\n              else {\n                uVar22 = 4;\n                buf[3] = cVar21;\n                buf[0] = ((byte)(uVar1 >> 0x12) & 7) - 0x10;\n                buf[1] = (bVar10 & 0x3f) + 0x80;\n              }\n            }" { (expression_statement "buf[2] = (bVar10 & 0x3f) + 0x80;" (assignment_expression "buf[2] = (bVar10 & 0x3f) + 0x80" (subscript_expression "buf[2]" identifier [ number_literal ]) = (binary_expression "(bVar10 & 0x3f) + 0x80" (parenthesized_expression "(bVar10 & 0x3f)" ( (binary_expression "bVar10 & 0x3f" identifier & number_literal) )) + number_literal)) ;) (expression_statement "bVar10 = (byte)(uVar1 >> 0xc);" (assignment_expression "bVar10 = (byte)(uVar1 >> 0xc)" identifier = (call_expression "(byte)(uVar1 >> 0xc)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar1 >> 0xc)" ( (binary_expression "uVar1 >> 0xc" identifier >> number_literal) )))) ;) (if_statement "if (uVar1 < 0x10000) {\n                buf[1] = buf[2];\n                uVar22 = 3;\n                buf[0] = bVar10 - 0x20;\n                buf[2] = cVar21;\n              }\n              else {\n                uVar22 = 4;\n                buf[3] = cVar21;\n                buf[0] = ((byte)(uVar1 >> 0x12) & 7) - 0x10;\n                buf[1] = (bVar10 & 0x3f) + 0x80;\n              }" if (parenthesized_expression "(uVar1 < 0x10000)" ( (binary_expression "uVar1 < 0x10000" identifier < number_literal) )) (compound_statement "{\n                buf[1] = buf[2];\n                uVar22 = 3;\n                buf[0] = bVar10 - 0x20;\n                buf[2] = cVar21;\n              }" { (expression_statement "buf[1] = buf[2];" (assignment_expression "buf[1] = buf[2]" (subscript_expression "buf[1]" identifier [ number_literal ]) = (subscript_expression "buf[2]" identifier [ number_literal ])) ;) (expression_statement "uVar22 = 3;" (assignment_expression "uVar22 = 3" identifier = number_literal) ;) (expression_statement "buf[0] = bVar10 - 0x20;" (assignment_expression "buf[0] = bVar10 - 0x20" (subscript_expression "buf[0]" identifier [ number_literal ]) = (binary_expression "bVar10 - 0x20" identifier - number_literal)) ;) (expression_statement "buf[2] = cVar21;" (assignment_expression "buf[2] = cVar21" (subscript_expression "buf[2]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n                uVar22 = 4;\n                buf[3] = cVar21;\n                buf[0] = ((byte)(uVar1 >> 0x12) & 7) - 0x10;\n                buf[1] = (bVar10 & 0x3f) + 0x80;\n              }" else (compound_statement "{\n                uVar22 = 4;\n                buf[3] = cVar21;\n                buf[0] = ((byte)(uVar1 >> 0x12) & 7) - 0x10;\n                buf[1] = (bVar10 & 0x3f) + 0x80;\n              }" { (expression_statement "uVar22 = 4;" (assignment_expression "uVar22 = 4" identifier = number_literal) ;) (expression_statement "buf[3] = cVar21;" (assignment_expression "buf[3] = cVar21" (subscript_expression "buf[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "buf[0] = ((byte)(uVar1 >> 0x12) & 7) - 0x10;" (assignment_expression "buf[0] = ((byte)(uVar1 >> 0x12) & 7) - 0x10" (subscript_expression "buf[0]" identifier [ number_literal ]) = (binary_expression "((byte)(uVar1 >> 0x12) & 7) - 0x10" (parenthesized_expression "((byte)(uVar1 >> 0x12) & 7)" ( (binary_expression "(byte)(uVar1 >> 0x12) & 7" (call_expression "(byte)(uVar1 >> 0x12)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar1 >> 0x12)" ( (binary_expression "uVar1 >> 0x12" identifier >> number_literal) ))) & number_literal) )) - number_literal)) ;) (expression_statement "buf[1] = (bVar10 & 0x3f) + 0x80;" (assignment_expression "buf[1] = (bVar10 & 0x3f) + 0x80" (subscript_expression "buf[1]" identifier [ number_literal ]) = (binary_expression "(bVar10 & 0x3f) + 0x80" (parenthesized_expression "(bVar10 & 0x3f)" ( (binary_expression "bVar10 & 0x3f" identifier & number_literal) )) + number_literal)) ;) }))) }))) }))) }) (else_clause "else {\n          pbVar41 = (byte *)getTextArg(local_d8);\n          if (pbVar41 == (byte *)0x0) {\n            buf[0] = '\0';\n          }\n          else {\n            buf[0] = *pbVar41;\n            if ((*pbVar41 & 0xc0) == 0xc0) {\n              lVar34 = 1;\n              do {\n                uVar22 = (uint)lVar34;\n                if ((pbVar41[lVar34] & 0xc0) != 0x80) goto joined_r0x0013fa79;\n                buf[lVar34] = pbVar41[lVar34];\n                lVar34 = lVar34 + 1;\n              } while (lVar34 != 4);\n              uVar22 = 4;\n              goto joined_r0x0013fa79;\n            }\n          }\n          uVar22 = 1;\n        }" else (compound_statement "{\n          pbVar41 = (byte *)getTextArg(local_d8);\n          if (pbVar41 == (byte *)0x0) {\n            buf[0] = '\0';\n          }\n          else {\n            buf[0] = *pbVar41;\n            if ((*pbVar41 & 0xc0) == 0xc0) {\n              lVar34 = 1;\n              do {\n                uVar22 = (uint)lVar34;\n                if ((pbVar41[lVar34] & 0xc0) != 0x80) goto joined_r0x0013fa79;\n                buf[lVar34] = pbVar41[lVar34];\n                lVar34 = lVar34 + 1;\n              } while (lVar34 != 4);\n              uVar22 = 4;\n              goto joined_r0x0013fa79;\n            }\n          }\n          uVar22 = 1;\n        }" { (expression_statement "pbVar41 = (byte *)getTextArg(local_d8);" (assignment_expression "pbVar41 = (byte *)getTextArg(local_d8)" identifier = (cast_expression "(byte *)getTextArg(local_d8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "getTextArg(local_d8)" identifier (argument_list "(local_d8)" ( identifier ))))) ;) (if_statement "if (pbVar41 == (byte *)0x0) {\n            buf[0] = '\0';\n          }\n          else {\n            buf[0] = *pbVar41;\n            if ((*pbVar41 & 0xc0) == 0xc0) {\n              lVar34 = 1;\n              do {\n                uVar22 = (uint)lVar34;\n                if ((pbVar41[lVar34] & 0xc0) != 0x80) goto joined_r0x0013fa79;\n                buf[lVar34] = pbVar41[lVar34];\n                lVar34 = lVar34 + 1;\n              } while (lVar34 != 4);\n              uVar22 = 4;\n              goto joined_r0x0013fa79;\n            }\n          }" if (parenthesized_expression "(pbVar41 == (byte *)0x0)" ( (binary_expression "pbVar41 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            buf[0] = '\0';\n          }" { (expression_statement "buf[0] = '\0';" (assignment_expression "buf[0] = '\0'" (subscript_expression "buf[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) }) (else_clause "else {\n            buf[0] = *pbVar41;\n            if ((*pbVar41 & 0xc0) == 0xc0) {\n              lVar34 = 1;\n              do {\n                uVar22 = (uint)lVar34;\n                if ((pbVar41[lVar34] & 0xc0) != 0x80) goto joined_r0x0013fa79;\n                buf[lVar34] = pbVar41[lVar34];\n                lVar34 = lVar34 + 1;\n              } while (lVar34 != 4);\n              uVar22 = 4;\n              goto joined_r0x0013fa79;\n            }\n          }" else (compound_statement "{\n            buf[0] = *pbVar41;\n            if ((*pbVar41 & 0xc0) == 0xc0) {\n              lVar34 = 1;\n              do {\n                uVar22 = (uint)lVar34;\n                if ((pbVar41[lVar34] & 0xc0) != 0x80) goto joined_r0x0013fa79;\n                buf[lVar34] = pbVar41[lVar34];\n                lVar34 = lVar34 + 1;\n              } while (lVar34 != 4);\n              uVar22 = 4;\n              goto joined_r0x0013fa79;\n            }\n          }" { (expression_statement "buf[0] = *pbVar41;" (assignment_expression "buf[0] = *pbVar41" (subscript_expression "buf[0]" identifier [ number_literal ]) = (pointer_expression "*pbVar41" * identifier)) ;) (if_statement "if ((*pbVar41 & 0xc0) == 0xc0) {\n              lVar34 = 1;\n              do {\n                uVar22 = (uint)lVar34;\n                if ((pbVar41[lVar34] & 0xc0) != 0x80) goto joined_r0x0013fa79;\n                buf[lVar34] = pbVar41[lVar34];\n                lVar34 = lVar34 + 1;\n              } while (lVar34 != 4);\n              uVar22 = 4;\n              goto joined_r0x0013fa79;\n            }" if (parenthesized_expression "((*pbVar41 & 0xc0) == 0xc0)" ( (binary_expression "(*pbVar41 & 0xc0) == 0xc0" (parenthesized_expression "(*pbVar41 & 0xc0)" ( (binary_expression "*pbVar41 & 0xc0" (pointer_expression "*pbVar41" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n              lVar34 = 1;\n              do {\n                uVar22 = (uint)lVar34;\n                if ((pbVar41[lVar34] & 0xc0) != 0x80) goto joined_r0x0013fa79;\n                buf[lVar34] = pbVar41[lVar34];\n                lVar34 = lVar34 + 1;\n              } while (lVar34 != 4);\n              uVar22 = 4;\n              goto joined_r0x0013fa79;\n            }" { (expression_statement "lVar34 = 1;" (assignment_expression "lVar34 = 1" identifier = number_literal) ;) (do_statement "do {\n                uVar22 = (uint)lVar34;\n                if ((pbVar41[lVar34] & 0xc0) != 0x80) goto joined_r0x0013fa79;\n                buf[lVar34] = pbVar41[lVar34];\n                lVar34 = lVar34 + 1;\n              } while (lVar34 != 4);" do (compound_statement "{\n                uVar22 = (uint)lVar34;\n                if ((pbVar41[lVar34] & 0xc0) != 0x80) goto joined_r0x0013fa79;\n                buf[lVar34] = pbVar41[lVar34];\n                lVar34 = lVar34 + 1;\n              }" { (expression_statement "uVar22 = (uint)lVar34;" (assignment_expression "uVar22 = (uint)lVar34" identifier = (cast_expression "(uint)lVar34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((pbVar41[lVar34] & 0xc0) != 0x80) goto joined_r0x0013fa79;" if (parenthesized_expression "((pbVar41[lVar34] & 0xc0) != 0x80)" ( (binary_expression "(pbVar41[lVar34] & 0xc0) != 0x80" (parenthesized_expression "(pbVar41[lVar34] & 0xc0)" ( (binary_expression "pbVar41[lVar34] & 0xc0" (subscript_expression "pbVar41[lVar34]" identifier [ identifier ]) & number_literal) )) != number_literal) )) (goto_statement "goto joined_r0x0013fa79;" goto statement_identifier ;)) (expression_statement "buf[lVar34] = pbVar41[lVar34];" (assignment_expression "buf[lVar34] = pbVar41[lVar34]" (subscript_expression "buf[lVar34]" identifier [ identifier ]) = (subscript_expression "pbVar41[lVar34]" identifier [ identifier ])) ;) (expression_statement "lVar34 = lVar34 + 1;" (assignment_expression "lVar34 = lVar34 + 1" identifier = (binary_expression "lVar34 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(lVar34 != 4)" ( (binary_expression "lVar34 != 4" identifier != number_literal) )) ;) (expression_statement "uVar22 = 4;" (assignment_expression "uVar22 = 4" identifier = number_literal) ;) (goto_statement "goto joined_r0x0013fa79;" goto statement_identifier ;) })) }))) (expression_statement "uVar22 = 1;" (assignment_expression "uVar22 = 1" identifier = number_literal) ;) }))) (labeled_statement "joined_r0x0013fa79:\n        if (1 < (int)uVar13) {\n          iVar12 = uVar13 - 1;\n          uVar36 = uVar36 - iVar12;\n          if (((int)uVar36 < 2) || (bVar7)) {\n            local_e0 = (byte *)(ulong)uVar36;\n          }\n          else {\n            sqlite3_str_appendchar(pAccum,uVar36 - 1,' ');\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            sqlite3_str_append(pAccum,buf,uVar22);\n            iVar12 = iVar12 + -1;\n          } while (iVar12 != 0);\n          pbVar26 = local_e0;\n          uVar36 = (uint)local_e0;\n        }" statement_identifier : (if_statement "if (1 < (int)uVar13) {\n          iVar12 = uVar13 - 1;\n          uVar36 = uVar36 - iVar12;\n          if (((int)uVar36 < 2) || (bVar7)) {\n            local_e0 = (byte *)(ulong)uVar36;\n          }\n          else {\n            sqlite3_str_appendchar(pAccum,uVar36 - 1,' ');\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            sqlite3_str_append(pAccum,buf,uVar22);\n            iVar12 = iVar12 + -1;\n          } while (iVar12 != 0);\n          pbVar26 = local_e0;\n          uVar36 = (uint)local_e0;\n        }" if (parenthesized_expression "(1 < (int)uVar13)" ( (binary_expression "1 < (int)uVar13" number_literal < (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          iVar12 = uVar13 - 1;\n          uVar36 = uVar36 - iVar12;\n          if (((int)uVar36 < 2) || (bVar7)) {\n            local_e0 = (byte *)(ulong)uVar36;\n          }\n          else {\n            sqlite3_str_appendchar(pAccum,uVar36 - 1,' ');\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            sqlite3_str_append(pAccum,buf,uVar22);\n            iVar12 = iVar12 + -1;\n          } while (iVar12 != 0);\n          pbVar26 = local_e0;\n          uVar36 = (uint)local_e0;\n        }" { (expression_statement "iVar12 = uVar13 - 1;" (assignment_expression "iVar12 = uVar13 - 1" identifier = (binary_expression "uVar13 - 1" identifier - number_literal)) ;) (expression_statement "uVar36 = uVar36 - iVar12;" (assignment_expression "uVar36 = uVar36 - iVar12" identifier = (binary_expression "uVar36 - iVar12" identifier - identifier)) ;) (if_statement "if (((int)uVar36 < 2) || (bVar7)) {\n            local_e0 = (byte *)(ulong)uVar36;\n          }\n          else {\n            sqlite3_str_appendchar(pAccum,uVar36 - 1,' ');\n            local_e0 = (byte *)0x0;\n          }" if (parenthesized_expression "(((int)uVar36 < 2) || (bVar7))" ( (binary_expression "((int)uVar36 < 2) || (bVar7)" (parenthesized_expression "((int)uVar36 < 2)" ( (binary_expression "(int)uVar36 < 2" (cast_expression "(int)uVar36" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(bVar7)" ( identifier ))) )) (compound_statement "{\n            local_e0 = (byte *)(ulong)uVar36;\n          }" { (expression_statement "local_e0 = (byte *)(ulong)uVar36;" (assignment_expression "local_e0 = (byte *)(ulong)uVar36" identifier = (cast_expression "(byte *)(ulong)uVar36" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)uVar36" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) }) (else_clause "else {\n            sqlite3_str_appendchar(pAccum,uVar36 - 1,' ');\n            local_e0 = (byte *)0x0;\n          }" else (compound_statement "{\n            sqlite3_str_appendchar(pAccum,uVar36 - 1,' ');\n            local_e0 = (byte *)0x0;\n          }" { (expression_statement "sqlite3_str_appendchar(pAccum,uVar36 - 1,' ');" (call_expression "sqlite3_str_appendchar(pAccum,uVar36 - 1,' ')" identifier (argument_list "(pAccum,uVar36 - 1,' ')" ( identifier , (binary_expression "uVar36 - 1" identifier - number_literal) , (char_literal "' '" ' character ') ))) ;) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (do_statement "do {\n            sqlite3_str_append(pAccum,buf,uVar22);\n            iVar12 = iVar12 + -1;\n          } while (iVar12 != 0);" do (compound_statement "{\n            sqlite3_str_append(pAccum,buf,uVar22);\n            iVar12 = iVar12 + -1;\n          }" { (expression_statement "sqlite3_str_append(pAccum,buf,uVar22);" (call_expression "sqlite3_str_append(pAccum,buf,uVar22)" identifier (argument_list "(pAccum,buf,uVar22)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) ;) (expression_statement "pbVar26 = local_e0;" (assignment_expression "pbVar26 = local_e0" identifier = identifier) ;) (expression_statement "uVar36 = (uint)local_e0;" (assignment_expression "uVar36 = (uint)local_e0" identifier = (cast_expression "(uint)local_e0" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }))) (if_statement "if (0 < (int)uVar36) {\n          pbVar41 = (byte *)buf;\n          local_e0 = (byte *)0x0;\n          iVar12 = uVar22 - 1;\n          goto LAB_0013efc6;\n        }" if (parenthesized_expression "(0 < (int)uVar36)" ( (binary_expression "0 < (int)uVar36" number_literal < (cast_expression "(int)uVar36" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pbVar41 = (byte *)buf;\n          local_e0 = (byte *)0x0;\n          iVar12 = uVar22 - 1;\n          goto LAB_0013efc6;\n        }" { (expression_statement "pbVar41 = (byte *)buf;" (assignment_expression "pbVar41 = (byte *)buf" identifier = (cast_expression "(byte *)buf" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar12 = uVar22 - 1;" (assignment_expression "iVar12 = uVar22 - 1" identifier = (binary_expression "uVar22 - 1" identifier - number_literal)) ;) (goto_statement "goto LAB_0013efc6;" goto statement_identifier ;) })) (expression_statement "pbVar41 = (byte *)buf;" (assignment_expression "pbVar41 = (byte *)buf" identifier = (cast_expression "(byte *)buf" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "sqlite3_str_append(pAccum,(char *)pbVar41,uVar22);" (call_expression "sqlite3_str_append(pAccum,(char *)pbVar41,uVar22)" identifier (argument_list "(pAccum,(char *)pbVar41,uVar22)" ( identifier , (cast_expression "(char *)pbVar41" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case '\t':" case (char_literal "'\t'" ' escape_sequence ') :) (case_statement "case '\n':" case (char_literal "'\n'" ' escape_sequence ') :) (case_statement "case '\x0e':\n        bVar10 = (eVar37 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            puVar28 = (undefined8 *)((ulong)uVar22 + (long)ap->reg_save_area);\n            ap->gp_offset = uVar22 + 8;\n          }\n          else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n          }\n          local_e0 = (byte *)*puVar28;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar13 != 0) && (bVar39 = *local_e0, pbVar15 = local_e0, bVar39 != 0))\n          goto LAB_0013f8fa;\n          if (eVar37 != '\n') {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar41 = pbVar20;\n            goto LAB_0013fa0c;\n          }\n          pbVar41 = (byte *)buf;\n          buf[0] = bVar10;\n          lVar34 = 2;\n          uVar22 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar20 = (byte *)(buf + 1);\nLAB_0013fa06:\n          *pbVar20 = bVar10;\n          pbVar20 = pbVar41 + lVar34;\n        }\n        else {\n          local_e0 = (byte *)getTextArg(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar15 = (byte *)0x1e846d;\n          if (eVar37 != '\n') {\n            pbVar15 = &DAT_001e9900;\n          }\n          if (uVar13 == 0) {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            pbVar41 = pbVar20;\n          }\n          else {\n            bVar39 = *pbVar15;\nLAB_0013f8fa:\n            iVar31 = 0;\n            iVar12 = 0;\n            do {\n              iVar32 = iVar12;\n              if (bVar10 == bVar39) {\n                iVar31 = iVar31 + 1;\n              }\n              else if (((bVar27 != 0) && ((bVar39 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U) == 0x80)) {\n                lVar34 = (long)(iVar12 + 1);\n                do {\n                  lVar29 = lVar34 + 1;\n                  iVar32 = (int)lVar34;\n                  lVar34 = lVar34 + 1;\n                } while (((int)(char)pbVar15[lVar29] & 0xc0U) == 0x80);\n              }\n              iVar12 = iVar32 + 1;\n              if (uVar13 == 1) break;\n              uVar13 = uVar13 - 1;\n              bVar39 = pbVar15[iVar12];\n            } while (bVar39 != 0);\n            bVar43 = local_e0 != (byte *)0x0;\n            iVar31 = iVar32 + 4 + iVar31;\n            bVar42 = bVar43 && eVar37 == '\n';\n            if (iVar31 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar41 = (byte *)buf;\n            }\n            else {\n              pbVar41 = (byte *)printfTempBuf(pAccum,(long)iVar31);\n              local_e0 = pbVar41;\n              if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar42) {\n              *pbVar41 = bVar10;\n            }\n            lVar34 = 0;\n            uVar13 = (uint)bVar42;\n            do {\n              while( true ) {\n                bVar39 = pbVar15[lVar34];\n                uVar22 = uVar13 + 1;\n                pbVar41[(int)uVar13] = bVar39;\n                pbVar20 = pbVar41 + (int)uVar22;\n                if (bVar10 != bVar39) break;\n                uVar22 = uVar13 + 2;\n                *pbVar20 = bVar10;\n                lVar34 = lVar34 + 1;\n                pbVar20 = pbVar41 + (int)uVar22;\n                uVar13 = uVar22;\n                if (iVar12 <= (int)lVar34) goto LAB_0013f9fa;\n              }\n              lVar34 = lVar34 + 1;\n              uVar13 = uVar22;\n            } while ((int)lVar34 < iVar12);\nLAB_0013f9fa:\n            if (bVar43 && eVar37 == '\n') {\n              uVar22 = uVar22 + 1;\n              lVar34 = (long)(int)uVar22;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar20 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar36) && (bVar27 != 0)) && (iVar12 = uVar22 - 1, -1 < iVar12)) {\nLAB_0013efc6:\n          lVar34 = (long)iVar12;\n          do {\n            pbVar15 = pbVar41 + lVar34;\n            lVar34 = lVar34 + -1;\n            uVar36 = (int)pbVar26 + (uint)(((int)(char)*pbVar15 & 0xc0U) == 0x80);\n            pbVar26 = (byte *)(ulong)uVar36;\n          } while (-1 < (int)lVar34);\n        }\nLAB_0013eff2:\n        uVar36 = uVar36 - uVar22;\n        goto LAB_0013f018;" case (char_literal "'\x0e'" ' escape_sequence ') : (expression_statement "bVar10 = (eVar37 != '\x0e') * '\x05' + 0x22;" (assignment_expression "bVar10 = (eVar37 != '\x0e') * '\x05' + 0x22" identifier = (binary_expression "(eVar37 != '\x0e') * '\x05' + 0x22" (binary_expression "(eVar37 != '\x0e') * '\x05'" (parenthesized_expression "(eVar37 != '\x0e')" ( (binary_expression "eVar37 != '\x0e'" identifier != (char_literal "'\x0e'" ' escape_sequence ')) )) * (char_literal "'\x05'" ' escape_sequence ')) + number_literal)) ;) (if_statement "if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            puVar28 = (undefined8 *)((ulong)uVar22 + (long)ap->reg_save_area);\n            ap->gp_offset = uVar22 + 8;\n          }\n          else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n          }\n          local_e0 = (byte *)*puVar28;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar13 != 0) && (bVar39 = *local_e0, pbVar15 = local_e0, bVar39 != 0))\n          goto LAB_0013f8fa;\n          if (eVar37 != '\n') {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar41 = pbVar20;\n            goto LAB_0013fa0c;\n          }\n          pbVar41 = (byte *)buf;\n          buf[0] = bVar10;\n          lVar34 = 2;\n          uVar22 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar20 = (byte *)(buf + 1);\nLAB_0013fa06:\n          *pbVar20 = bVar10;\n          pbVar20 = pbVar41 + lVar34;\n        }\n        else {\n          local_e0 = (byte *)getTextArg(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar15 = (byte *)0x1e846d;\n          if (eVar37 != '\n') {\n            pbVar15 = &DAT_001e9900;\n          }\n          if (uVar13 == 0) {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            pbVar41 = pbVar20;\n          }\n          else {\n            bVar39 = *pbVar15;\nLAB_0013f8fa:\n            iVar31 = 0;\n            iVar12 = 0;\n            do {\n              iVar32 = iVar12;\n              if (bVar10 == bVar39) {\n                iVar31 = iVar31 + 1;\n              }\n              else if (((bVar27 != 0) && ((bVar39 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U) == 0x80)) {\n                lVar34 = (long)(iVar12 + 1);\n                do {\n                  lVar29 = lVar34 + 1;\n                  iVar32 = (int)lVar34;\n                  lVar34 = lVar34 + 1;\n                } while (((int)(char)pbVar15[lVar29] & 0xc0U) == 0x80);\n              }\n              iVar12 = iVar32 + 1;\n              if (uVar13 == 1) break;\n              uVar13 = uVar13 - 1;\n              bVar39 = pbVar15[iVar12];\n            } while (bVar39 != 0);\n            bVar43 = local_e0 != (byte *)0x0;\n            iVar31 = iVar32 + 4 + iVar31;\n            bVar42 = bVar43 && eVar37 == '\n';\n            if (iVar31 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar41 = (byte *)buf;\n            }\n            else {\n              pbVar41 = (byte *)printfTempBuf(pAccum,(long)iVar31);\n              local_e0 = pbVar41;\n              if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar42) {\n              *pbVar41 = bVar10;\n            }\n            lVar34 = 0;\n            uVar13 = (uint)bVar42;\n            do {\n              while( true ) {\n                bVar39 = pbVar15[lVar34];\n                uVar22 = uVar13 + 1;\n                pbVar41[(int)uVar13] = bVar39;\n                pbVar20 = pbVar41 + (int)uVar22;\n                if (bVar10 != bVar39) break;\n                uVar22 = uVar13 + 2;\n                *pbVar20 = bVar10;\n                lVar34 = lVar34 + 1;\n                pbVar20 = pbVar41 + (int)uVar22;\n                uVar13 = uVar22;\n                if (iVar12 <= (int)lVar34) goto LAB_0013f9fa;\n              }\n              lVar34 = lVar34 + 1;\n              uVar13 = uVar22;\n            } while ((int)lVar34 < iVar12);\nLAB_0013f9fa:\n            if (bVar43 && eVar37 == '\n') {\n              uVar22 = uVar22 + 1;\n              lVar34 = (long)(int)uVar22;\n              goto LAB_0013fa06;\n            }\n          }\n        }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar22 = ap->gp_offset;\n          if (uVar22 < 0x30) {\n            puVar28 = (undefined8 *)((ulong)uVar22 + (long)ap->reg_save_area);\n            ap->gp_offset = uVar22 + 8;\n          }\n          else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n          }\n          local_e0 = (byte *)*puVar28;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar13 != 0) && (bVar39 = *local_e0, pbVar15 = local_e0, bVar39 != 0))\n          goto LAB_0013f8fa;\n          if (eVar37 != '\n') {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar41 = pbVar20;\n            goto LAB_0013fa0c;\n          }\n          pbVar41 = (byte *)buf;\n          buf[0] = bVar10;\n          lVar34 = 2;\n          uVar22 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar20 = (byte *)(buf + 1);\nLAB_0013fa06:\n          *pbVar20 = bVar10;\n          pbVar20 = pbVar41 + lVar34;\n        }" { (expression_statement "uVar22 = ap->gp_offset;" (assignment_expression "uVar22 = ap->gp_offset" identifier = (field_expression "ap->gp_offset" identifier -> field_identifier)) ;) (if_statement "if (uVar22 < 0x30) {\n            puVar28 = (undefined8 *)((ulong)uVar22 + (long)ap->reg_save_area);\n            ap->gp_offset = uVar22 + 8;\n          }\n          else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n          }" if (parenthesized_expression "(uVar22 < 0x30)" ( (binary_expression "uVar22 < 0x30" identifier < number_literal) )) (compound_statement "{\n            puVar28 = (undefined8 *)((ulong)uVar22 + (long)ap->reg_save_area);\n            ap->gp_offset = uVar22 + 8;\n          }" { (expression_statement "puVar28 = (undefined8 *)((ulong)uVar22 + (long)ap->reg_save_area);" (assignment_expression "puVar28 = (undefined8 *)((ulong)uVar22 + (long)ap->reg_save_area)" identifier = (cast_expression "(undefined8 *)((ulong)uVar22 + (long)ap->reg_save_area)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar22 + (long)ap->reg_save_area)" ( (binary_expression "(ulong)uVar22 + (long)ap->reg_save_area" (cast_expression "(ulong)uVar22" ( (type_descriptor "ulong" type_identifier) ) identifier) + (cast_expression "(long)ap->reg_save_area" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "ap->reg_save_area" identifier -> field_identifier))) )))) ;) (expression_statement "ap->gp_offset = uVar22 + 8;" (assignment_expression "ap->gp_offset = uVar22 + 8" (field_expression "ap->gp_offset" identifier -> field_identifier) = (binary_expression "uVar22 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n          }" else (compound_statement "{\n            puVar28 = (undefined8 *)ap->overflow_arg_area;\n            ap->overflow_arg_area = puVar28 + 1;\n          }" { (expression_statement "puVar28 = (undefined8 *)ap->overflow_arg_area;" (assignment_expression "puVar28 = (undefined8 *)ap->overflow_arg_area" identifier = (cast_expression "(undefined8 *)ap->overflow_arg_area" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "ap->overflow_arg_area" identifier -> field_identifier))) ;) (expression_statement "ap->overflow_arg_area = puVar28 + 1;" (assignment_expression "ap->overflow_arg_area = puVar28 + 1" (field_expression "ap->overflow_arg_area" identifier -> field_identifier) = (binary_expression "puVar28 + 1" identifier + number_literal)) ;) }))) (expression_statement "local_e0 = (byte *)*puVar28;" (assignment_expression "local_e0 = (byte *)*puVar28" identifier = (cast_expression "(byte *)*puVar28" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar28" * identifier))) ;) (if_statement "if (local_e0 == (byte *)0x0) goto LAB_0013eec9;" if (parenthesized_expression "(local_e0 == (byte *)0x0)" ( (binary_expression "local_e0 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0013eec9;" goto statement_identifier ;)) (labeled_statement "LAB_0013f8df:\n          if ((uVar13 != 0) && (bVar39 = *local_e0, pbVar15 = local_e0, bVar39 != 0))\n          goto LAB_0013f8fa;" statement_identifier : (if_statement "if ((uVar13 != 0) && (bVar39 = *local_e0, pbVar15 = local_e0, bVar39 != 0))\n          goto LAB_0013f8fa;" if (parenthesized_expression "((uVar13 != 0) && (bVar39 = *local_e0, pbVar15 = local_e0, bVar39 != 0))" ( (binary_expression "(uVar13 != 0) && (bVar39 = *local_e0, pbVar15 = local_e0, bVar39 != 0)" (parenthesized_expression "(uVar13 != 0)" ( (binary_expression "uVar13 != 0" identifier != number_literal) )) && (parenthesized_expression "(bVar39 = *local_e0, pbVar15 = local_e0, bVar39 != 0)" ( (comma_expression "bVar39 = *local_e0, pbVar15 = local_e0, bVar39 != 0" (assignment_expression "bVar39 = *local_e0" identifier = (pointer_expression "*local_e0" * identifier)) , (comma_expression "pbVar15 = local_e0, bVar39 != 0" (assignment_expression "pbVar15 = local_e0" identifier = identifier) , (binary_expression "bVar39 != 0" identifier != number_literal))) ))) )) (goto_statement "goto LAB_0013f8fa;" goto statement_identifier ;))) (if_statement "if (eVar37 != '\n') {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar41 = pbVar20;\n            goto LAB_0013fa0c;\n          }" if (parenthesized_expression "(eVar37 != '\n')" ( (binary_expression "eVar37 != '\n'" identifier != (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar41 = pbVar20;\n            goto LAB_0013fa0c;\n          }" { (expression_statement "pbVar20 = (byte *)buf;" (assignment_expression "pbVar20 = (byte *)buf" identifier = (cast_expression "(byte *)buf" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar41 = pbVar20;" (assignment_expression "pbVar41 = pbVar20" identifier = identifier) ;) (goto_statement "goto LAB_0013fa0c;" goto statement_identifier ;) })) (expression_statement "pbVar41 = (byte *)buf;" (assignment_expression "pbVar41 = (byte *)buf" identifier = (cast_expression "(byte *)buf" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "buf[0] = bVar10;" (assignment_expression "buf[0] = bVar10" (subscript_expression "buf[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "lVar34 = 2;" (assignment_expression "lVar34 = 2" identifier = number_literal) ;) (expression_statement "uVar22 = 2;" (assignment_expression "uVar22 = 2" identifier = number_literal) ;) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar20 = (byte *)(buf + 1);" (assignment_expression "pbVar20 = (byte *)(buf + 1)" identifier = (cast_expression "(byte *)(buf + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(buf + 1)" ( (binary_expression "buf + 1" identifier + number_literal) )))) ;) (labeled_statement "LAB_0013fa06:\n          *pbVar20 = bVar10;" statement_identifier : (expression_statement "*pbVar20 = bVar10;" (assignment_expression "*pbVar20 = bVar10" (pointer_expression "*pbVar20" * identifier) = identifier) ;)) (expression_statement "pbVar20 = pbVar41 + lVar34;" (assignment_expression "pbVar20 = pbVar41 + lVar34" identifier = (binary_expression "pbVar41 + lVar34" identifier + identifier)) ;) }) (else_clause "else {\n          local_e0 = (byte *)getTextArg(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar15 = (byte *)0x1e846d;\n          if (eVar37 != '\n') {\n            pbVar15 = &DAT_001e9900;\n          }\n          if (uVar13 == 0) {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            pbVar41 = pbVar20;\n          }\n          else {\n            bVar39 = *pbVar15;\nLAB_0013f8fa:\n            iVar31 = 0;\n            iVar12 = 0;\n            do {\n              iVar32 = iVar12;\n              if (bVar10 == bVar39) {\n                iVar31 = iVar31 + 1;\n              }\n              else if (((bVar27 != 0) && ((bVar39 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U) == 0x80)) {\n                lVar34 = (long)(iVar12 + 1);\n                do {\n                  lVar29 = lVar34 + 1;\n                  iVar32 = (int)lVar34;\n                  lVar34 = lVar34 + 1;\n                } while (((int)(char)pbVar15[lVar29] & 0xc0U) == 0x80);\n              }\n              iVar12 = iVar32 + 1;\n              if (uVar13 == 1) break;\n              uVar13 = uVar13 - 1;\n              bVar39 = pbVar15[iVar12];\n            } while (bVar39 != 0);\n            bVar43 = local_e0 != (byte *)0x0;\n            iVar31 = iVar32 + 4 + iVar31;\n            bVar42 = bVar43 && eVar37 == '\n';\n            if (iVar31 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar41 = (byte *)buf;\n            }\n            else {\n              pbVar41 = (byte *)printfTempBuf(pAccum,(long)iVar31);\n              local_e0 = pbVar41;\n              if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar42) {\n              *pbVar41 = bVar10;\n            }\n            lVar34 = 0;\n            uVar13 = (uint)bVar42;\n            do {\n              while( true ) {\n                bVar39 = pbVar15[lVar34];\n                uVar22 = uVar13 + 1;\n                pbVar41[(int)uVar13] = bVar39;\n                pbVar20 = pbVar41 + (int)uVar22;\n                if (bVar10 != bVar39) break;\n                uVar22 = uVar13 + 2;\n                *pbVar20 = bVar10;\n                lVar34 = lVar34 + 1;\n                pbVar20 = pbVar41 + (int)uVar22;\n                uVar13 = uVar22;\n                if (iVar12 <= (int)lVar34) goto LAB_0013f9fa;\n              }\n              lVar34 = lVar34 + 1;\n              uVar13 = uVar22;\n            } while ((int)lVar34 < iVar12);\nLAB_0013f9fa:\n            if (bVar43 && eVar37 == '\n') {\n              uVar22 = uVar22 + 1;\n              lVar34 = (long)(int)uVar22;\n              goto LAB_0013fa06;\n            }\n          }\n        }" else (compound_statement "{\n          local_e0 = (byte *)getTextArg(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar15 = (byte *)0x1e846d;\n          if (eVar37 != '\n') {\n            pbVar15 = &DAT_001e9900;\n          }\n          if (uVar13 == 0) {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            pbVar41 = pbVar20;\n          }\n          else {\n            bVar39 = *pbVar15;\nLAB_0013f8fa:\n            iVar31 = 0;\n            iVar12 = 0;\n            do {\n              iVar32 = iVar12;\n              if (bVar10 == bVar39) {\n                iVar31 = iVar31 + 1;\n              }\n              else if (((bVar27 != 0) && ((bVar39 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U) == 0x80)) {\n                lVar34 = (long)(iVar12 + 1);\n                do {\n                  lVar29 = lVar34 + 1;\n                  iVar32 = (int)lVar34;\n                  lVar34 = lVar34 + 1;\n                } while (((int)(char)pbVar15[lVar29] & 0xc0U) == 0x80);\n              }\n              iVar12 = iVar32 + 1;\n              if (uVar13 == 1) break;\n              uVar13 = uVar13 - 1;\n              bVar39 = pbVar15[iVar12];\n            } while (bVar39 != 0);\n            bVar43 = local_e0 != (byte *)0x0;\n            iVar31 = iVar32 + 4 + iVar31;\n            bVar42 = bVar43 && eVar37 == '\n';\n            if (iVar31 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar41 = (byte *)buf;\n            }\n            else {\n              pbVar41 = (byte *)printfTempBuf(pAccum,(long)iVar31);\n              local_e0 = pbVar41;\n              if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar42) {\n              *pbVar41 = bVar10;\n            }\n            lVar34 = 0;\n            uVar13 = (uint)bVar42;\n            do {\n              while( true ) {\n                bVar39 = pbVar15[lVar34];\n                uVar22 = uVar13 + 1;\n                pbVar41[(int)uVar13] = bVar39;\n                pbVar20 = pbVar41 + (int)uVar22;\n                if (bVar10 != bVar39) break;\n                uVar22 = uVar13 + 2;\n                *pbVar20 = bVar10;\n                lVar34 = lVar34 + 1;\n                pbVar20 = pbVar41 + (int)uVar22;\n                uVar13 = uVar22;\n                if (iVar12 <= (int)lVar34) goto LAB_0013f9fa;\n              }\n              lVar34 = lVar34 + 1;\n              uVar13 = uVar22;\n            } while ((int)lVar34 < iVar12);\nLAB_0013f9fa:\n            if (bVar43 && eVar37 == '\n') {\n              uVar22 = uVar22 + 1;\n              lVar34 = (long)(int)uVar22;\n              goto LAB_0013fa06;\n            }\n          }\n        }" { (expression_statement "local_e0 = (byte *)getTextArg(local_d8);" (assignment_expression "local_e0 = (byte *)getTextArg(local_d8)" identifier = (cast_expression "(byte *)getTextArg(local_d8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "getTextArg(local_d8)" identifier (argument_list "(local_d8)" ( identifier ))))) ;) (if_statement "if (local_e0 != (byte *)0x0) goto LAB_0013f8df;" if (parenthesized_expression "(local_e0 != (byte *)0x0)" ( (binary_expression "local_e0 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0013f8df;" goto statement_identifier ;)) (labeled_statement "LAB_0013eec9:\n          pbVar15 = (byte *)0x1e846d;" statement_identifier : (expression_statement "pbVar15 = (byte *)0x1e846d;" (assignment_expression "pbVar15 = (byte *)0x1e846d" identifier = (cast_expression "(byte *)0x1e846d" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (if_statement "if (eVar37 != '\n') {\n            pbVar15 = &DAT_001e9900;\n          }" if (parenthesized_expression "(eVar37 != '\n')" ( (binary_expression "eVar37 != '\n'" identifier != (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n            pbVar15 = &DAT_001e9900;\n          }" { (expression_statement "pbVar15 = &DAT_001e9900;" (assignment_expression "pbVar15 = &DAT_001e9900" identifier = (pointer_expression "&DAT_001e9900" & identifier)) ;) })) (if_statement "if (uVar13 == 0) {\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            pbVar41 = pbVar20;\n          }\n          else {\n            bVar39 = *pbVar15;\nLAB_0013f8fa:\n            iVar31 = 0;\n            iVar12 = 0;\n            do {\n              iVar32 = iVar12;\n              if (bVar10 == bVar39) {\n                iVar31 = iVar31 + 1;\n              }\n              else if (((bVar27 != 0) && ((bVar39 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U) == 0x80)) {\n                lVar34 = (long)(iVar12 + 1);\n                do {\n                  lVar29 = lVar34 + 1;\n                  iVar32 = (int)lVar34;\n                  lVar34 = lVar34 + 1;\n                } while (((int)(char)pbVar15[lVar29] & 0xc0U) == 0x80);\n              }\n              iVar12 = iVar32 + 1;\n              if (uVar13 == 1) break;\n              uVar13 = uVar13 - 1;\n              bVar39 = pbVar15[iVar12];\n            } while (bVar39 != 0);\n            bVar43 = local_e0 != (byte *)0x0;\n            iVar31 = iVar32 + 4 + iVar31;\n            bVar42 = bVar43 && eVar37 == '\n';\n            if (iVar31 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar41 = (byte *)buf;\n            }\n            else {\n              pbVar41 = (byte *)printfTempBuf(pAccum,(long)iVar31);\n              local_e0 = pbVar41;\n              if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar42) {\n              *pbVar41 = bVar10;\n            }\n            lVar34 = 0;\n            uVar13 = (uint)bVar42;\n            do {\n              while( true ) {\n                bVar39 = pbVar15[lVar34];\n                uVar22 = uVar13 + 1;\n                pbVar41[(int)uVar13] = bVar39;\n                pbVar20 = pbVar41 + (int)uVar22;\n                if (bVar10 != bVar39) break;\n                uVar22 = uVar13 + 2;\n                *pbVar20 = bVar10;\n                lVar34 = lVar34 + 1;\n                pbVar20 = pbVar41 + (int)uVar22;\n                uVar13 = uVar22;\n                if (iVar12 <= (int)lVar34) goto LAB_0013f9fa;\n              }\n              lVar34 = lVar34 + 1;\n              uVar13 = uVar22;\n            } while ((int)lVar34 < iVar12);\nLAB_0013f9fa:\n            if (bVar43 && eVar37 == '\n') {\n              uVar22 = uVar22 + 1;\n              lVar34 = (long)(int)uVar22;\n              goto LAB_0013fa06;\n            }\n          }" if (parenthesized_expression "(uVar13 == 0)" ( (binary_expression "uVar13 == 0" identifier == number_literal) )) (compound_statement "{\n            pbVar20 = (byte *)buf;\n            uVar22 = 0;\n            pbVar41 = pbVar20;\n          }" { (expression_statement "pbVar20 = (byte *)buf;" (assignment_expression "pbVar20 = (byte *)buf" identifier = (cast_expression "(byte *)buf" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (expression_statement "pbVar41 = pbVar20;" (assignment_expression "pbVar41 = pbVar20" identifier = identifier) ;) }) (else_clause "else {\n            bVar39 = *pbVar15;\nLAB_0013f8fa:\n            iVar31 = 0;\n            iVar12 = 0;\n            do {\n              iVar32 = iVar12;\n              if (bVar10 == bVar39) {\n                iVar31 = iVar31 + 1;\n              }\n              else if (((bVar27 != 0) && ((bVar39 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U) == 0x80)) {\n                lVar34 = (long)(iVar12 + 1);\n                do {\n                  lVar29 = lVar34 + 1;\n                  iVar32 = (int)lVar34;\n                  lVar34 = lVar34 + 1;\n                } while (((int)(char)pbVar15[lVar29] & 0xc0U) == 0x80);\n              }\n              iVar12 = iVar32 + 1;\n              if (uVar13 == 1) break;\n              uVar13 = uVar13 - 1;\n              bVar39 = pbVar15[iVar12];\n            } while (bVar39 != 0);\n            bVar43 = local_e0 != (byte *)0x0;\n            iVar31 = iVar32 + 4 + iVar31;\n            bVar42 = bVar43 && eVar37 == '\n';\n            if (iVar31 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar41 = (byte *)buf;\n            }\n            else {\n              pbVar41 = (byte *)printfTempBuf(pAccum,(long)iVar31);\n              local_e0 = pbVar41;\n              if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar42) {\n              *pbVar41 = bVar10;\n            }\n            lVar34 = 0;\n            uVar13 = (uint)bVar42;\n            do {\n              while( true ) {\n                bVar39 = pbVar15[lVar34];\n                uVar22 = uVar13 + 1;\n                pbVar41[(int)uVar13] = bVar39;\n                pbVar20 = pbVar41 + (int)uVar22;\n                if (bVar10 != bVar39) break;\n                uVar22 = uVar13 + 2;\n                *pbVar20 = bVar10;\n                lVar34 = lVar34 + 1;\n                pbVar20 = pbVar41 + (int)uVar22;\n                uVar13 = uVar22;\n                if (iVar12 <= (int)lVar34) goto LAB_0013f9fa;\n              }\n              lVar34 = lVar34 + 1;\n              uVar13 = uVar22;\n            } while ((int)lVar34 < iVar12);\nLAB_0013f9fa:\n            if (bVar43 && eVar37 == '\n') {\n              uVar22 = uVar22 + 1;\n              lVar34 = (long)(int)uVar22;\n              goto LAB_0013fa06;\n            }\n          }" else (compound_statement "{\n            bVar39 = *pbVar15;\nLAB_0013f8fa:\n            iVar31 = 0;\n            iVar12 = 0;\n            do {\n              iVar32 = iVar12;\n              if (bVar10 == bVar39) {\n                iVar31 = iVar31 + 1;\n              }\n              else if (((bVar27 != 0) && ((bVar39 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U) == 0x80)) {\n                lVar34 = (long)(iVar12 + 1);\n                do {\n                  lVar29 = lVar34 + 1;\n                  iVar32 = (int)lVar34;\n                  lVar34 = lVar34 + 1;\n                } while (((int)(char)pbVar15[lVar29] & 0xc0U) == 0x80);\n              }\n              iVar12 = iVar32 + 1;\n              if (uVar13 == 1) break;\n              uVar13 = uVar13 - 1;\n              bVar39 = pbVar15[iVar12];\n            } while (bVar39 != 0);\n            bVar43 = local_e0 != (byte *)0x0;\n            iVar31 = iVar32 + 4 + iVar31;\n            bVar42 = bVar43 && eVar37 == '\n';\n            if (iVar31 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar41 = (byte *)buf;\n            }\n            else {\n              pbVar41 = (byte *)printfTempBuf(pAccum,(long)iVar31);\n              local_e0 = pbVar41;\n              if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar42) {\n              *pbVar41 = bVar10;\n            }\n            lVar34 = 0;\n            uVar13 = (uint)bVar42;\n            do {\n              while( true ) {\n                bVar39 = pbVar15[lVar34];\n                uVar22 = uVar13 + 1;\n                pbVar41[(int)uVar13] = bVar39;\n                pbVar20 = pbVar41 + (int)uVar22;\n                if (bVar10 != bVar39) break;\n                uVar22 = uVar13 + 2;\n                *pbVar20 = bVar10;\n                lVar34 = lVar34 + 1;\n                pbVar20 = pbVar41 + (int)uVar22;\n                uVar13 = uVar22;\n                if (iVar12 <= (int)lVar34) goto LAB_0013f9fa;\n              }\n              lVar34 = lVar34 + 1;\n              uVar13 = uVar22;\n            } while ((int)lVar34 < iVar12);\nLAB_0013f9fa:\n            if (bVar43 && eVar37 == '\n') {\n              uVar22 = uVar22 + 1;\n              lVar34 = (long)(int)uVar22;\n              goto LAB_0013fa06;\n            }\n          }" { (expression_statement "bVar39 = *pbVar15;" (assignment_expression "bVar39 = *pbVar15" identifier = (pointer_expression "*pbVar15" * identifier)) ;) (labeled_statement "LAB_0013f8fa:\n            iVar31 = 0;" statement_identifier : (expression_statement "iVar31 = 0;" (assignment_expression "iVar31 = 0" identifier = number_literal) ;)) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (do_statement "do {\n              iVar32 = iVar12;\n              if (bVar10 == bVar39) {\n                iVar31 = iVar31 + 1;\n              }\n              else if (((bVar27 != 0) && ((bVar39 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U) == 0x80)) {\n                lVar34 = (long)(iVar12 + 1);\n                do {\n                  lVar29 = lVar34 + 1;\n                  iVar32 = (int)lVar34;\n                  lVar34 = lVar34 + 1;\n                } while (((int)(char)pbVar15[lVar29] & 0xc0U) == 0x80);\n              }\n              iVar12 = iVar32 + 1;\n              if (uVar13 == 1) break;\n              uVar13 = uVar13 - 1;\n              bVar39 = pbVar15[iVar12];\n            } while (bVar39 != 0);" do (compound_statement "{\n              iVar32 = iVar12;\n              if (bVar10 == bVar39) {\n                iVar31 = iVar31 + 1;\n              }\n              else if (((bVar27 != 0) && ((bVar39 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U) == 0x80)) {\n                lVar34 = (long)(iVar12 + 1);\n                do {\n                  lVar29 = lVar34 + 1;\n                  iVar32 = (int)lVar34;\n                  lVar34 = lVar34 + 1;\n                } while (((int)(char)pbVar15[lVar29] & 0xc0U) == 0x80);\n              }\n              iVar12 = iVar32 + 1;\n              if (uVar13 == 1) break;\n              uVar13 = uVar13 - 1;\n              bVar39 = pbVar15[iVar12];\n            }" { (expression_statement "iVar32 = iVar12;" (assignment_expression "iVar32 = iVar12" identifier = identifier) ;) (if_statement "if (bVar10 == bVar39) {\n                iVar31 = iVar31 + 1;\n              }\n              else if (((bVar27 != 0) && ((bVar39 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U) == 0x80)) {\n                lVar34 = (long)(iVar12 + 1);\n                do {\n                  lVar29 = lVar34 + 1;\n                  iVar32 = (int)lVar34;\n                  lVar34 = lVar34 + 1;\n                } while (((int)(char)pbVar15[lVar29] & 0xc0U) == 0x80);\n              }" if (parenthesized_expression "(bVar10 == bVar39)" ( (binary_expression "bVar10 == bVar39" identifier == identifier) )) (compound_statement "{\n                iVar31 = iVar31 + 1;\n              }" { (expression_statement "iVar31 = iVar31 + 1;" (assignment_expression "iVar31 = iVar31 + 1" identifier = (binary_expression "iVar31 + 1" identifier + number_literal)) ;) }) (else_clause "else if (((bVar27 != 0) && ((bVar39 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U) == 0x80)) {\n                lVar34 = (long)(iVar12 + 1);\n                do {\n                  lVar29 = lVar34 + 1;\n                  iVar32 = (int)lVar34;\n                  lVar34 = lVar34 + 1;\n                } while (((int)(char)pbVar15[lVar29] & 0xc0U) == 0x80);\n              }" else (if_statement "if (((bVar27 != 0) && ((bVar39 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U) == 0x80)) {\n                lVar34 = (long)(iVar12 + 1);\n                do {\n                  lVar29 = lVar34 + 1;\n                  iVar32 = (int)lVar34;\n                  lVar34 = lVar34 + 1;\n                } while (((int)(char)pbVar15[lVar29] & 0xc0U) == 0x80);\n              }" if (parenthesized_expression "(((bVar27 != 0) && ((bVar39 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U) == 0x80))" ( (binary_expression "((bVar27 != 0) && ((bVar39 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U) == 0x80)" (parenthesized_expression "((bVar27 != 0) && ((bVar39 & 0xc0) == 0xc0))" ( (binary_expression "(bVar27 != 0) && ((bVar39 & 0xc0) == 0xc0)" (parenthesized_expression "(bVar27 != 0)" ( (binary_expression "bVar27 != 0" identifier != number_literal) )) && (parenthesized_expression "((bVar39 & 0xc0) == 0xc0)" ( (binary_expression "(bVar39 & 0xc0) == 0xc0" (parenthesized_expression "(bVar39 & 0xc0)" ( (binary_expression "bVar39 & 0xc0" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U) == 0x80)" ( (binary_expression "((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U) == 0x80" (parenthesized_expression "((int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U)" ( (binary_expression "(int)(char)pbVar15[(long)iVar12 + 1] & 0xc0U" (cast_expression "(int)(char)pbVar15[(long)iVar12 + 1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar15[(long)iVar12 + 1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar15[(long)iVar12 + 1]" identifier [ (binary_expression "(long)iVar12 + 1" (cast_expression "(long)iVar12" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ]))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n                lVar34 = (long)(iVar12 + 1);\n                do {\n                  lVar29 = lVar34 + 1;\n                  iVar32 = (int)lVar34;\n                  lVar34 = lVar34 + 1;\n                } while (((int)(char)pbVar15[lVar29] & 0xc0U) == 0x80);\n              }" { (expression_statement "lVar34 = (long)(iVar12 + 1);" (assignment_expression "lVar34 = (long)(iVar12 + 1)" identifier = (cast_expression "(long)(iVar12 + 1)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(iVar12 + 1)" ( (binary_expression "iVar12 + 1" identifier + number_literal) )))) ;) (do_statement "do {\n                  lVar29 = lVar34 + 1;\n                  iVar32 = (int)lVar34;\n                  lVar34 = lVar34 + 1;\n                } while (((int)(char)pbVar15[lVar29] & 0xc0U) == 0x80);" do (compound_statement "{\n                  lVar29 = lVar34 + 1;\n                  iVar32 = (int)lVar34;\n                  lVar34 = lVar34 + 1;\n                }" { (expression_statement "lVar29 = lVar34 + 1;" (assignment_expression "lVar29 = lVar34 + 1" identifier = (binary_expression "lVar34 + 1" identifier + number_literal)) ;) (expression_statement "iVar32 = (int)lVar34;" (assignment_expression "iVar32 = (int)lVar34" identifier = (cast_expression "(int)lVar34" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "lVar34 = lVar34 + 1;" (assignment_expression "lVar34 = lVar34 + 1" identifier = (binary_expression "lVar34 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(((int)(char)pbVar15[lVar29] & 0xc0U) == 0x80)" ( (binary_expression "((int)(char)pbVar15[lVar29] & 0xc0U) == 0x80" (parenthesized_expression "((int)(char)pbVar15[lVar29] & 0xc0U)" ( (binary_expression "(int)(char)pbVar15[lVar29] & 0xc0U" (cast_expression "(int)(char)pbVar15[lVar29]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar15[lVar29]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar15[lVar29]" identifier [ identifier ]))) & number_literal) )) == number_literal) )) ;) })))) (expression_statement "iVar12 = iVar32 + 1;" (assignment_expression "iVar12 = iVar32 + 1" identifier = (binary_expression "iVar32 + 1" identifier + number_literal)) ;) (if_statement "if (uVar13 == 1) break;" if (parenthesized_expression "(uVar13 == 1)" ( (binary_expression "uVar13 == 1" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar13 = uVar13 - 1;" (assignment_expression "uVar13 = uVar13 - 1" identifier = (binary_expression "uVar13 - 1" identifier - number_literal)) ;) (expression_statement "bVar39 = pbVar15[iVar12];" (assignment_expression "bVar39 = pbVar15[iVar12]" identifier = (subscript_expression "pbVar15[iVar12]" identifier [ identifier ])) ;) }) while (parenthesized_expression "(bVar39 != 0)" ( (binary_expression "bVar39 != 0" identifier != number_literal) )) ;) (expression_statement "bVar43 = local_e0 != (byte *)0x0;" (assignment_expression "bVar43 = local_e0 != (byte *)0x0" identifier = (binary_expression "local_e0 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "iVar31 = iVar32 + 4 + iVar31;" (assignment_expression "iVar31 = iVar32 + 4 + iVar31" identifier = (binary_expression "iVar32 + 4 + iVar31" (binary_expression "iVar32 + 4" identifier + number_literal) + identifier)) ;) (expression_statement "bVar42 = bVar43 && eVar37 == '\n';" (assignment_expression "bVar42 = bVar43 && eVar37 == '\n'" identifier = (binary_expression "bVar43 && eVar37 == '\n'" identifier && (binary_expression "eVar37 == '\n'" identifier == (char_literal "'\n'" ' escape_sequence ')))) ;) (if_statement "if (iVar31 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar41 = (byte *)buf;\n            }\n            else {\n              pbVar41 = (byte *)printfTempBuf(pAccum,(long)iVar31);\n              local_e0 = pbVar41;\n              if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }" if (parenthesized_expression "(iVar31 < 0x47)" ( (binary_expression "iVar31 < 0x47" identifier < number_literal) )) (compound_statement "{\n              local_e0 = (byte *)0x0;\n              pbVar41 = (byte *)buf;\n            }" { (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar41 = (byte *)buf;" (assignment_expression "pbVar41 = (byte *)buf" identifier = (cast_expression "(byte *)buf" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n              pbVar41 = (byte *)printfTempBuf(pAccum,(long)iVar31);\n              local_e0 = pbVar41;\n              if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }" else (compound_statement "{\n              pbVar41 = (byte *)printfTempBuf(pAccum,(long)iVar31);\n              local_e0 = pbVar41;\n              if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }" { (expression_statement "pbVar41 = (byte *)printfTempBuf(pAccum,(long)iVar31);" (assignment_expression "pbVar41 = (byte *)printfTempBuf(pAccum,(long)iVar31)" identifier = (cast_expression "(byte *)printfTempBuf(pAccum,(long)iVar31)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "printfTempBuf(pAccum,(long)iVar31)" identifier (argument_list "(pAccum,(long)iVar31)" ( identifier , (cast_expression "(long)iVar31" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) ))))) ;) (expression_statement "local_e0 = pbVar41;" (assignment_expression "local_e0 = pbVar41" identifier = identifier) ;) (if_statement "if (pbVar41 == (byte *)0x0) goto switchD_0013ea21_caseD_11;" if (parenthesized_expression "(pbVar41 == (byte *)0x0)" ( (binary_expression "pbVar41 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto switchD_0013ea21_caseD_11;" goto statement_identifier ;)) }))) (if_statement "if (bVar42) {\n              *pbVar41 = bVar10;\n            }" if (parenthesized_expression "(bVar42)" ( identifier )) (compound_statement "{\n              *pbVar41 = bVar10;\n            }" { (expression_statement "*pbVar41 = bVar10;" (assignment_expression "*pbVar41 = bVar10" (pointer_expression "*pbVar41" * identifier) = identifier) ;) })) (expression_statement "lVar34 = 0;" (assignment_expression "lVar34 = 0" identifier = number_literal) ;) (expression_statement "uVar13 = (uint)bVar42;" (assignment_expression "uVar13 = (uint)bVar42" identifier = (cast_expression "(uint)bVar42" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (do_statement "do {\n              while( true ) {\n                bVar39 = pbVar15[lVar34];\n                uVar22 = uVar13 + 1;\n                pbVar41[(int)uVar13] = bVar39;\n                pbVar20 = pbVar41 + (int)uVar22;\n                if (bVar10 != bVar39) break;\n                uVar22 = uVar13 + 2;\n                *pbVar20 = bVar10;\n                lVar34 = lVar34 + 1;\n                pbVar20 = pbVar41 + (int)uVar22;\n                uVar13 = uVar22;\n                if (iVar12 <= (int)lVar34) goto LAB_0013f9fa;\n              }\n              lVar34 = lVar34 + 1;\n              uVar13 = uVar22;\n            } while ((int)lVar34 < iVar12);" do (compound_statement "{\n              while( true ) {\n                bVar39 = pbVar15[lVar34];\n                uVar22 = uVar13 + 1;\n                pbVar41[(int)uVar13] = bVar39;\n                pbVar20 = pbVar41 + (int)uVar22;\n                if (bVar10 != bVar39) break;\n                uVar22 = uVar13 + 2;\n                *pbVar20 = bVar10;\n                lVar34 = lVar34 + 1;\n                pbVar20 = pbVar41 + (int)uVar22;\n                uVar13 = uVar22;\n                if (iVar12 <= (int)lVar34) goto LAB_0013f9fa;\n              }\n              lVar34 = lVar34 + 1;\n              uVar13 = uVar22;\n            }" { (while_statement "while( true ) {\n                bVar39 = pbVar15[lVar34];\n                uVar22 = uVar13 + 1;\n                pbVar41[(int)uVar13] = bVar39;\n                pbVar20 = pbVar41 + (int)uVar22;\n                if (bVar10 != bVar39) break;\n                uVar22 = uVar13 + 2;\n                *pbVar20 = bVar10;\n                lVar34 = lVar34 + 1;\n                pbVar20 = pbVar41 + (int)uVar22;\n                uVar13 = uVar22;\n                if (iVar12 <= (int)lVar34) goto LAB_0013f9fa;\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                bVar39 = pbVar15[lVar34];\n                uVar22 = uVar13 + 1;\n                pbVar41[(int)uVar13] = bVar39;\n                pbVar20 = pbVar41 + (int)uVar22;\n                if (bVar10 != bVar39) break;\n                uVar22 = uVar13 + 2;\n                *pbVar20 = bVar10;\n                lVar34 = lVar34 + 1;\n                pbVar20 = pbVar41 + (int)uVar22;\n                uVar13 = uVar22;\n                if (iVar12 <= (int)lVar34) goto LAB_0013f9fa;\n              }" { (expression_statement "bVar39 = pbVar15[lVar34];" (assignment_expression "bVar39 = pbVar15[lVar34]" identifier = (subscript_expression "pbVar15[lVar34]" identifier [ identifier ])) ;) (expression_statement "uVar22 = uVar13 + 1;" (assignment_expression "uVar22 = uVar13 + 1" identifier = (binary_expression "uVar13 + 1" identifier + number_literal)) ;) (expression_statement "pbVar41[(int)uVar13] = bVar39;" (assignment_expression "pbVar41[(int)uVar13] = bVar39" (subscript_expression "pbVar41[(int)uVar13]" identifier [ (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) ]) = identifier) ;) (expression_statement "pbVar20 = pbVar41 + (int)uVar22;" (assignment_expression "pbVar20 = pbVar41 + (int)uVar22" identifier = (binary_expression "pbVar41 + (int)uVar22" identifier + (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (bVar10 != bVar39) break;" if (parenthesized_expression "(bVar10 != bVar39)" ( (binary_expression "bVar10 != bVar39" identifier != identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar22 = uVar13 + 2;" (assignment_expression "uVar22 = uVar13 + 2" identifier = (binary_expression "uVar13 + 2" identifier + number_literal)) ;) (expression_statement "*pbVar20 = bVar10;" (assignment_expression "*pbVar20 = bVar10" (pointer_expression "*pbVar20" * identifier) = identifier) ;) (expression_statement "lVar34 = lVar34 + 1;" (assignment_expression "lVar34 = lVar34 + 1" identifier = (binary_expression "lVar34 + 1" identifier + number_literal)) ;) (expression_statement "pbVar20 = pbVar41 + (int)uVar22;" (assignment_expression "pbVar20 = pbVar41 + (int)uVar22" identifier = (binary_expression "pbVar41 + (int)uVar22" identifier + (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = uVar22;" (assignment_expression "uVar13 = uVar22" identifier = identifier) ;) (if_statement "if (iVar12 <= (int)lVar34) goto LAB_0013f9fa;" if (parenthesized_expression "(iVar12 <= (int)lVar34)" ( (binary_expression "iVar12 <= (int)lVar34" identifier <= (cast_expression "(int)lVar34" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0013f9fa;" goto statement_identifier ;)) })) (expression_statement "lVar34 = lVar34 + 1;" (assignment_expression "lVar34 = lVar34 + 1" identifier = (binary_expression "lVar34 + 1" identifier + number_literal)) ;) (expression_statement "uVar13 = uVar22;" (assignment_expression "uVar13 = uVar22" identifier = identifier) ;) }) while (parenthesized_expression "((int)lVar34 < iVar12)" ( (binary_expression "(int)lVar34 < iVar12" (cast_expression "(int)lVar34" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) (labeled_statement "LAB_0013f9fa:\n            if (bVar43 && eVar37 == '\n') {\n              uVar22 = uVar22 + 1;\n              lVar34 = (long)(int)uVar22;\n              goto LAB_0013fa06;\n            }" statement_identifier : (if_statement "if (bVar43 && eVar37 == '\n') {\n              uVar22 = uVar22 + 1;\n              lVar34 = (long)(int)uVar22;\n              goto LAB_0013fa06;\n            }" if (parenthesized_expression "(bVar43 && eVar37 == '\n')" ( (binary_expression "bVar43 && eVar37 == '\n'" identifier && (binary_expression "eVar37 == '\n'" identifier == (char_literal "'\n'" ' escape_sequence '))) )) (compound_statement "{\n              uVar22 = uVar22 + 1;\n              lVar34 = (long)(int)uVar22;\n              goto LAB_0013fa06;\n            }" { (expression_statement "uVar22 = uVar22 + 1;" (assignment_expression "uVar22 = uVar22 + 1" identifier = (binary_expression "uVar22 + 1" identifier + number_literal)) ;) (expression_statement "lVar34 = (long)(int)uVar22;" (assignment_expression "lVar34 = (long)(int)uVar22" identifier = (cast_expression "(long)(int)uVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (goto_statement "goto LAB_0013fa06;" goto statement_identifier ;) }))) }))) }))) (labeled_statement "LAB_0013fa0c:\n        *pbVar20 = 0;" statement_identifier : (expression_statement "*pbVar20 = 0;" (assignment_expression "*pbVar20 = 0" (pointer_expression "*pbVar20" * identifier) = number_literal) ;)) (labeled_statement "LAB_0013fa12:\n        if (((0 < (int)uVar36) && (bVar27 != 0)) && (iVar12 = uVar22 - 1, -1 < iVar12)) {\nLAB_0013efc6:\n          lVar34 = (long)iVar12;\n          do {\n            pbVar15 = pbVar41 + lVar34;\n            lVar34 = lVar34 + -1;\n            uVar36 = (int)pbVar26 + (uint)(((int)(char)*pbVar15 & 0xc0U) == 0x80);\n            pbVar26 = (byte *)(ulong)uVar36;\n          } while (-1 < (int)lVar34);\n        }" statement_identifier : (if_statement "if (((0 < (int)uVar36) && (bVar27 != 0)) && (iVar12 = uVar22 - 1, -1 < iVar12)) {\nLAB_0013efc6:\n          lVar34 = (long)iVar12;\n          do {\n            pbVar15 = pbVar41 + lVar34;\n            lVar34 = lVar34 + -1;\n            uVar36 = (int)pbVar26 + (uint)(((int)(char)*pbVar15 & 0xc0U) == 0x80);\n            pbVar26 = (byte *)(ulong)uVar36;\n          } while (-1 < (int)lVar34);\n        }" if (parenthesized_expression "(((0 < (int)uVar36) && (bVar27 != 0)) && (iVar12 = uVar22 - 1, -1 < iVar12))" ( (binary_expression "((0 < (int)uVar36) && (bVar27 != 0)) && (iVar12 = uVar22 - 1, -1 < iVar12)" (parenthesized_expression "((0 < (int)uVar36) && (bVar27 != 0))" ( (binary_expression "(0 < (int)uVar36) && (bVar27 != 0)" (parenthesized_expression "(0 < (int)uVar36)" ( (binary_expression "0 < (int)uVar36" number_literal < (cast_expression "(int)uVar36" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(bVar27 != 0)" ( (binary_expression "bVar27 != 0" identifier != number_literal) ))) )) && (parenthesized_expression "(iVar12 = uVar22 - 1, -1 < iVar12)" ( (comma_expression "iVar12 = uVar22 - 1, -1 < iVar12" (assignment_expression "iVar12 = uVar22 - 1" identifier = (binary_expression "uVar22 - 1" identifier - number_literal)) , (binary_expression "-1 < iVar12" number_literal < identifier)) ))) )) (compound_statement "{\nLAB_0013efc6:\n          lVar34 = (long)iVar12;\n          do {\n            pbVar15 = pbVar41 + lVar34;\n            lVar34 = lVar34 + -1;\n            uVar36 = (int)pbVar26 + (uint)(((int)(char)*pbVar15 & 0xc0U) == 0x80);\n            pbVar26 = (byte *)(ulong)uVar36;\n          } while (-1 < (int)lVar34);\n        }" { (labeled_statement "LAB_0013efc6:\n          lVar34 = (long)iVar12;" statement_identifier : (expression_statement "lVar34 = (long)iVar12;" (assignment_expression "lVar34 = (long)iVar12" identifier = (cast_expression "(long)iVar12" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;)) (do_statement "do {\n            pbVar15 = pbVar41 + lVar34;\n            lVar34 = lVar34 + -1;\n            uVar36 = (int)pbVar26 + (uint)(((int)(char)*pbVar15 & 0xc0U) == 0x80);\n            pbVar26 = (byte *)(ulong)uVar36;\n          } while (-1 < (int)lVar34);" do (compound_statement "{\n            pbVar15 = pbVar41 + lVar34;\n            lVar34 = lVar34 + -1;\n            uVar36 = (int)pbVar26 + (uint)(((int)(char)*pbVar15 & 0xc0U) == 0x80);\n            pbVar26 = (byte *)(ulong)uVar36;\n          }" { (expression_statement "pbVar15 = pbVar41 + lVar34;" (assignment_expression "pbVar15 = pbVar41 + lVar34" identifier = (binary_expression "pbVar41 + lVar34" identifier + identifier)) ;) (expression_statement "lVar34 = lVar34 + -1;" (assignment_expression "lVar34 = lVar34 + -1" identifier = (binary_expression "lVar34 + -1" identifier + number_literal)) ;) (expression_statement "uVar36 = (int)pbVar26 + (uint)(((int)(char)*pbVar15 & 0xc0U) == 0x80);" (assignment_expression "uVar36 = (int)pbVar26 + (uint)(((int)(char)*pbVar15 & 0xc0U) == 0x80)" identifier = (binary_expression "(int)pbVar26 + (uint)(((int)(char)*pbVar15 & 0xc0U) == 0x80)" (cast_expression "(int)pbVar26" ( (type_descriptor "int" primitive_type) ) identifier) + (call_expression "(uint)(((int)(char)*pbVar15 & 0xc0U) == 0x80)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((int)(char)*pbVar15 & 0xc0U) == 0x80)" ( (binary_expression "((int)(char)*pbVar15 & 0xc0U) == 0x80" (parenthesized_expression "((int)(char)*pbVar15 & 0xc0U)" ( (binary_expression "(int)(char)*pbVar15 & 0xc0U" (cast_expression "(int)(char)*pbVar15" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*pbVar15" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbVar15" * identifier))) & number_literal) )) == number_literal) ))))) ;) (expression_statement "pbVar26 = (byte *)(ulong)uVar36;" (assignment_expression "pbVar26 = (byte *)(ulong)uVar36" identifier = (cast_expression "(byte *)(ulong)uVar36" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)uVar36" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) }) while (parenthesized_expression "(-1 < (int)lVar34)" ( (binary_expression "-1 < (int)lVar34" number_literal < (cast_expression "(int)lVar34" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) }))) (labeled_statement "LAB_0013eff2:\n        uVar36 = uVar36 - uVar22;" statement_identifier : (expression_statement "uVar36 = uVar36 - uVar22;" (assignment_expression "uVar36 = uVar36 - uVar22" identifier = (binary_expression "uVar36 - uVar22" identifier - identifier)) ;)) (goto_statement "goto LAB_0013f018;" goto statement_identifier ;)) (case_statement "case '\v':\n        if ((pAccum->printfFlags & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          plVar17 = (long *)((ulong)uVar13 + (long)ap->reg_save_area);\n          ap->gp_offset = uVar13 + 8;\n        }\n        else {\n          plVar17 = (long *)ap->overflow_arg_area;\n          ap->overflow_arg_area = plVar17 + 1;\n        }\n        puVar28 = (undefined8 *)*plVar17;\n        if ((puVar28 == (undefined8 *)0x0) || (*(int *)(puVar28 + 1) == 0)) goto LAB_0013f287;\n        sqlite3_str_append(pAccum,(char *)*puVar28,*(int *)(puVar28 + 1));\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        break;" case (char_literal "'\v'" ' escape_sequence ') : (if_statement "if ((pAccum->printfFlags & 1) == 0) goto switchD_0013ea21_caseD_11;" if (parenthesized_expression "((pAccum->printfFlags & 1) == 0)" ( (binary_expression "(pAccum->printfFlags & 1) == 0" (parenthesized_expression "(pAccum->printfFlags & 1)" ( (binary_expression "pAccum->printfFlags & 1" (field_expression "pAccum->printfFlags" identifier -> field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto switchD_0013ea21_caseD_11;" goto statement_identifier ;)) (expression_statement "uVar13 = ap->gp_offset;" (assignment_expression "uVar13 = ap->gp_offset" identifier = (field_expression "ap->gp_offset" identifier -> field_identifier)) ;) (if_statement "if (uVar13 < 0x30) {\n          plVar17 = (long *)((ulong)uVar13 + (long)ap->reg_save_area);\n          ap->gp_offset = uVar13 + 8;\n        }\n        else {\n          plVar17 = (long *)ap->overflow_arg_area;\n          ap->overflow_arg_area = plVar17 + 1;\n        }" if (parenthesized_expression "(uVar13 < 0x30)" ( (binary_expression "uVar13 < 0x30" identifier < number_literal) )) (compound_statement "{\n          plVar17 = (long *)((ulong)uVar13 + (long)ap->reg_save_area);\n          ap->gp_offset = uVar13 + 8;\n        }" { (expression_statement "plVar17 = (long *)((ulong)uVar13 + (long)ap->reg_save_area);" (assignment_expression "plVar17 = (long *)((ulong)uVar13 + (long)ap->reg_save_area)" identifier = (cast_expression "(long *)((ulong)uVar13 + (long)ap->reg_save_area)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar13 + (long)ap->reg_save_area)" ( (binary_expression "(ulong)uVar13 + (long)ap->reg_save_area" (cast_expression "(ulong)uVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) + (cast_expression "(long)ap->reg_save_area" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "ap->reg_save_area" identifier -> field_identifier))) )))) ;) (expression_statement "ap->gp_offset = uVar13 + 8;" (assignment_expression "ap->gp_offset = uVar13 + 8" (field_expression "ap->gp_offset" identifier -> field_identifier) = (binary_expression "uVar13 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n          plVar17 = (long *)ap->overflow_arg_area;\n          ap->overflow_arg_area = plVar17 + 1;\n        }" else (compound_statement "{\n          plVar17 = (long *)ap->overflow_arg_area;\n          ap->overflow_arg_area = plVar17 + 1;\n        }" { (expression_statement "plVar17 = (long *)ap->overflow_arg_area;" (assignment_expression "plVar17 = (long *)ap->overflow_arg_area" identifier = (cast_expression "(long *)ap->overflow_arg_area" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (field_expression "ap->overflow_arg_area" identifier -> field_identifier))) ;) (expression_statement "ap->overflow_arg_area = plVar17 + 1;" (assignment_expression "ap->overflow_arg_area = plVar17 + 1" (field_expression "ap->overflow_arg_area" identifier -> field_identifier) = (binary_expression "plVar17 + 1" identifier + number_literal)) ;) }))) (expression_statement "puVar28 = (undefined8 *)*plVar17;" (assignment_expression "puVar28 = (undefined8 *)*plVar17" identifier = (cast_expression "(undefined8 *)*plVar17" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar17" * identifier))) ;) (if_statement "if ((puVar28 == (undefined8 *)0x0) || (*(int *)(puVar28 + 1) == 0)) goto LAB_0013f287;" if (parenthesized_expression "((puVar28 == (undefined8 *)0x0) || (*(int *)(puVar28 + 1) == 0))" ( (binary_expression "(puVar28 == (undefined8 *)0x0) || (*(int *)(puVar28 + 1) == 0)" (parenthesized_expression "(puVar28 == (undefined8 *)0x0)" ( (binary_expression "puVar28 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*(int *)(puVar28 + 1) == 0)" ( (binary_expression "*(int *)(puVar28 + 1) == 0" (pointer_expression "*(int *)(puVar28 + 1)" * (cast_expression "(int *)(puVar28 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 1)" ( (binary_expression "puVar28 + 1" identifier + number_literal) )))) == number_literal) ))) )) (goto_statement "goto LAB_0013f287;" goto statement_identifier ;)) (expression_statement "sqlite3_str_append(pAccum,(char *)*puVar28,*(int *)(puVar28 + 1));" (call_expression "sqlite3_str_append(pAccum,(char *)*puVar28,*(int *)(puVar28 + 1))" identifier (argument_list "(pAccum,(char *)*puVar28,*(int *)(puVar28 + 1))" ( identifier , (cast_expression "(char *)*puVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar28" * identifier)) , (pointer_expression "*(int *)(puVar28 + 1)" * (cast_expression "(int *)(puVar28 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 1)" ( (binary_expression "puVar28 + 1" identifier + number_literal) )))) ))) ;) (expression_statement "sqlite3_str_append(pAccum,(char *)pbVar41,0);" (call_expression "sqlite3_str_append(pAccum,(char *)pbVar41,0)" identifier (argument_list "(pAccum,(char *)pbVar41,0)" ( identifier , (cast_expression "(char *)pbVar41" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal ))) ;) (break_statement "break;" break ;)) (case_statement "case '\f':\n        if ((pAccum->printfFlags & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar13 = ap->gp_offset;\n        if (uVar13 < 0x30) {\n          uVar36 = uVar13 + 8;\n          ap->gp_offset = uVar36;\n          lVar34 = *(long *)((long)ap->reg_save_area + (ulong)uVar13);\n          if (0x2f < uVar36) {\n            plVar17 = (long *)ap->overflow_arg_area;\n            goto LAB_0013f46b;\n          }\n          plVar17 = (long *)((long)ap->reg_save_area + (ulong)uVar36);\n          ap->gp_offset = uVar13 + 0x10;\n        }\n        else {\n          plVar4 = (long *)ap->overflow_arg_area;\n          plVar17 = plVar4 + 1;\n          ap->overflow_arg_area = plVar17;\n          lVar34 = *plVar4;\nLAB_0013f46b:\n          ap->overflow_arg_area = plVar17 + 1;\n        }\n        lVar29 = *plVar17;\n        z = *(char **)(lVar34 + 0x10 + (long)(int)lVar29 * 0x70);\n        if (z != (char *)0x0) {\n          sqlite3_str_appendall(pAccum,z);\n          sqlite3_str_append(pAccum,".",1);\n        }\n        sqlite3_str_appendall(pAccum,*(char **)(lVar34 + 0x18 + (long)(int)lVar29 * 0x70));\n        sqlite3_str_append(pAccum,(char *)pbVar41,0);\n        break;" case (char_literal "'\f'" ' escape_sequence ') : (if_statement "if ((pAccum->printfFlags & 1) == 0) goto switchD_0013ea21_caseD_11;" if (parenthesized_expression "((pAccum->printfFlags & 1) == 0)" ( (binary_expression "(pAccum->printfFlags & 1) == 0" (parenthesized_expression "(pAccum->printfFlags & 1)" ( (binary_expression "pAccum->printfFlags & 1" (field_expression "pAccum->printfFlags" identifier -> field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto switchD_0013ea21_caseD_11;" goto statement_identifier ;)) (expression_statement "uVar13 = ap->gp_offset;" (assignment_expression "uVar13 = ap->gp_offset" identifier = (field_expression "ap->gp_offset" identifier -> field_identifier)) ;) (if_statement "if (uVar13 < 0x30) {\n          uVar36 = uVar13 + 8;\n          ap->gp_offset = uVar36;\n          lVar34 = *(long *)((long)ap->reg_save_area + (ulong)uVar13);\n          if (0x2f < uVar36) {\n            plVar17 = (long *)ap->overflow_arg_area;\n            goto LAB_0013f46b;\n          }\n          plVar17 = (long *)((long)ap->reg_save_area + (ulong)uVar36);\n          ap->gp_offset = uVar13 + 0x10;\n        }\n        else {\n          plVar4 = (long *)ap->overflow_arg_area;\n          plVar17 = plVar4 + 1;\n          ap->overflow_arg_area = plVar17;\n          lVar34 = *plVar4;\nLAB_0013f46b:\n          ap->overflow_arg_area = plVar17 + 1;\n        }" if (parenthesized_expression "(uVar13 < 0x30)" ( (binary_expression "uVar13 < 0x30" identifier < number_literal) )) (compound_statement "{\n          uVar36 = uVar13 + 8;\n          ap->gp_offset = uVar36;\n          lVar34 = *(long *)((long)ap->reg_save_area + (ulong)uVar13);\n          if (0x2f < uVar36) {\n            plVar17 = (long *)ap->overflow_arg_area;\n            goto LAB_0013f46b;\n          }\n          plVar17 = (long *)((long)ap->reg_save_area + (ulong)uVar36);\n          ap->gp_offset = uVar13 + 0x10;\n        }" { (expression_statement "uVar36 = uVar13 + 8;" (assignment_expression "uVar36 = uVar13 + 8" identifier = (binary_expression "uVar13 + 8" identifier + number_literal)) ;) (expression_statement "ap->gp_offset = uVar36;" (assignment_expression "ap->gp_offset = uVar36" (field_expression "ap->gp_offset" identifier -> field_identifier) = identifier) ;) (expression_statement "lVar34 = *(long *)((long)ap->reg_save_area + (ulong)uVar13);" (assignment_expression "lVar34 = *(long *)((long)ap->reg_save_area + (ulong)uVar13)" identifier = (pointer_expression "*(long *)((long)ap->reg_save_area + (ulong)uVar13)" * (cast_expression "(long *)((long)ap->reg_save_area + (ulong)uVar13)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)ap->reg_save_area + (ulong)uVar13)" ( (binary_expression "(long)ap->reg_save_area + (ulong)uVar13" (cast_expression "(long)ap->reg_save_area" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "ap->reg_save_area" identifier -> field_identifier)) + (cast_expression "(ulong)uVar13" ( (type_descriptor "ulong" type_identifier) ) identifier)) ))))) ;) (if_statement "if (0x2f < uVar36) {\n            plVar17 = (long *)ap->overflow_arg_area;\n            goto LAB_0013f46b;\n          }" if (parenthesized_expression "(0x2f < uVar36)" ( (binary_expression "0x2f < uVar36" number_literal < identifier) )) (compound_statement "{\n            plVar17 = (long *)ap->overflow_arg_area;\n            goto LAB_0013f46b;\n          }" { (expression_statement "plVar17 = (long *)ap->overflow_arg_area;" (assignment_expression "plVar17 = (long *)ap->overflow_arg_area" identifier = (cast_expression "(long *)ap->overflow_arg_area" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (field_expression "ap->overflow_arg_area" identifier -> field_identifier))) ;) (goto_statement "goto LAB_0013f46b;" goto statement_identifier ;) })) (expression_statement "plVar17 = (long *)((long)ap->reg_save_area + (ulong)uVar36);" (assignment_expression "plVar17 = (long *)((long)ap->reg_save_area + (ulong)uVar36)" identifier = (cast_expression "(long *)((long)ap->reg_save_area + (ulong)uVar36)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)ap->reg_save_area + (ulong)uVar36)" ( (binary_expression "(long)ap->reg_save_area + (ulong)uVar36" (cast_expression "(long)ap->reg_save_area" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "ap->reg_save_area" identifier -> field_identifier)) + (cast_expression "(ulong)uVar36" ( (type_descriptor "ulong" type_identifier) ) identifier)) )))) ;) (expression_statement "ap->gp_offset = uVar13 + 0x10;" (assignment_expression "ap->gp_offset = uVar13 + 0x10" (field_expression "ap->gp_offset" identifier -> field_identifier) = (binary_expression "uVar13 + 0x10" identifier + number_literal)) ;) }) (else_clause "else {\n          plVar4 = (long *)ap->overflow_arg_area;\n          plVar17 = plVar4 + 1;\n          ap->overflow_arg_area = plVar17;\n          lVar34 = *plVar4;\nLAB_0013f46b:\n          ap->overflow_arg_area = plVar17 + 1;\n        }" else (compound_statement "{\n          plVar4 = (long *)ap->overflow_arg_area;\n          plVar17 = plVar4 + 1;\n          ap->overflow_arg_area = plVar17;\n          lVar34 = *plVar4;\nLAB_0013f46b:\n          ap->overflow_arg_area = plVar17 + 1;\n        }" { (expression_statement "plVar4 = (long *)ap->overflow_arg_area;" (assignment_expression "plVar4 = (long *)ap->overflow_arg_area" identifier = (cast_expression "(long *)ap->overflow_arg_area" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (field_expression "ap->overflow_arg_area" identifier -> field_identifier))) ;) (expression_statement "plVar17 = plVar4 + 1;" (assignment_expression "plVar17 = plVar4 + 1" identifier = (binary_expression "plVar4 + 1" identifier + number_literal)) ;) (expression_statement "ap->overflow_arg_area = plVar17;" (assignment_expression "ap->overflow_arg_area = plVar17" (field_expression "ap->overflow_arg_area" identifier -> field_identifier) = identifier) ;) (expression_statement "lVar34 = *plVar4;" (assignment_expression "lVar34 = *plVar4" identifier = (pointer_expression "*plVar4" * identifier)) ;) (labeled_statement "LAB_0013f46b:\n          ap->overflow_arg_area = plVar17 + 1;" statement_identifier : (expression_statement "ap->overflow_arg_area = plVar17 + 1;" (assignment_expression "ap->overflow_arg_area = plVar17 + 1" (field_expression "ap->overflow_arg_area" identifier -> field_identifier) = (binary_expression "plVar17 + 1" identifier + number_literal)) ;)) }))) (expression_statement "lVar29 = *plVar17;" (assignment_expression "lVar29 = *plVar17" identifier = (pointer_expression "*plVar17" * identifier)) ;) (expression_statement "z = *(char **)(lVar34 + 0x10 + (long)(int)lVar29 * 0x70);" (assignment_expression "z = *(char **)(lVar34 + 0x10 + (long)(int)lVar29 * 0x70)" identifier = (pointer_expression "*(char **)(lVar34 + 0x10 + (long)(int)lVar29 * 0x70)" * (cast_expression "(char **)(lVar34 + 0x10 + (long)(int)lVar29 * 0x70)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar34 + 0x10 + (long)(int)lVar29 * 0x70)" ( (binary_expression "lVar34 + 0x10 + (long)(int)lVar29 * 0x70" (binary_expression "lVar34 + 0x10" identifier + number_literal) + (binary_expression "(long)(int)lVar29 * 0x70" (cast_expression "(long)(int)lVar29" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)lVar29" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal)) ))))) ;) (if_statement "if (z != (char *)0x0) {\n          sqlite3_str_appendall(pAccum,z);\n          sqlite3_str_append(pAccum,".",1);\n        }" if (parenthesized_expression "(z != (char *)0x0)" ( (binary_expression "z != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          sqlite3_str_appendall(pAccum,z);\n          sqlite3_str_append(pAccum,".",1);\n        }" { (expression_statement "sqlite3_str_appendall(pAccum,z);" (call_expression "sqlite3_str_appendall(pAccum,z)" identifier (argument_list "(pAccum,z)" ( identifier , identifier ))) ;) (expression_statement "sqlite3_str_append(pAccum,".",1);" (call_expression "sqlite3_str_append(pAccum,".",1)" identifier (argument_list "(pAccum,".",1)" ( identifier , (string_literal ""."" " string_content ") , number_literal ))) ;) })) (expression_statement "sqlite3_str_appendall(pAccum,*(char **)(lVar34 + 0x18 + (long)(int)lVar29 * 0x70));" (call_expression "sqlite3_str_appendall(pAccum,*(char **)(lVar34 + 0x18 + (long)(int)lVar29 * 0x70))" identifier (argument_list "(pAccum,*(char **)(lVar34 + 0x18 + (long)(int)lVar29 * 0x70))" ( identifier , (pointer_expression "*(char **)(lVar34 + 0x18 + (long)(int)lVar29 * 0x70)" * (cast_expression "(char **)(lVar34 + 0x18 + (long)(int)lVar29 * 0x70)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar34 + 0x18 + (long)(int)lVar29 * 0x70)" ( (binary_expression "lVar34 + 0x18 + (long)(int)lVar29 * 0x70" (binary_expression "lVar34 + 0x18" identifier + number_literal) + (binary_expression "(long)(int)lVar29 * 0x70" (cast_expression "(long)(int)lVar29" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)lVar29" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal)) )))) ))) ;) (expression_statement "sqlite3_str_append(pAccum,(char *)pbVar41,0);" (call_expression "sqlite3_str_append(pAccum,(char *)pbVar41,0)" identifier (argument_list "(pAccum,(char *)pbVar41,0)" ( identifier , (cast_expression "(char *)pbVar41" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal ))) ;) (break_statement "break;" break ;)) (case_statement "case '\r':\n        bVar40 = fmtinfo[iVar31].flags & 1;\n        if ((fmtinfo[iVar31].flags & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar22 = ap->gp_offset;\n          bVar40 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar40 = 0;\n        if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;" case (char_literal "'\r'" ' escape_sequence ') : (expression_statement "bVar40 = fmtinfo[iVar31].flags & 1;" (assignment_expression "bVar40 = fmtinfo[iVar31].flags & 1" identifier = (binary_expression "fmtinfo[iVar31].flags & 1" (field_expression "fmtinfo[iVar31].flags" (subscript_expression "fmtinfo[iVar31]" identifier [ identifier ]) . field_identifier) & number_literal)) ;) (if_statement "if ((fmtinfo[iVar31].flags & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar22 = ap->gp_offset;\n          bVar40 = 0;\n          goto LAB_0013f48c;\n        }" if (parenthesized_expression "((fmtinfo[iVar31].flags & 1) == 0)" ( (binary_expression "(fmtinfo[iVar31].flags & 1) == 0" (parenthesized_expression "(fmtinfo[iVar31].flags & 1)" ( (binary_expression "fmtinfo[iVar31].flags & 1" (field_expression "fmtinfo[iVar31].flags" (subscript_expression "fmtinfo[iVar31]" identifier [ identifier ]) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar22 = ap->gp_offset;\n          bVar40 = 0;\n          goto LAB_0013f48c;\n        }" { (if_statement "if (local_b6 != 0) goto LAB_0013f695;" if (parenthesized_expression "(local_b6 != 0)" ( (binary_expression "local_b6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0013f695;" goto statement_identifier ;)) (expression_statement "uVar22 = ap->gp_offset;" (assignment_expression "uVar22 = ap->gp_offset" identifier = (field_expression "ap->gp_offset" identifier -> field_identifier)) ;) (expression_statement "bVar40 = 0;" (assignment_expression "bVar40 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0013f48c;" goto statement_identifier ;) })) (expression_statement "bVar40 = 0;" (assignment_expression "bVar40 = 0" identifier = number_literal) ;) (if_statement "if (local_b6 == 0) {\n          uVar22 = ap->gp_offset;\n          goto LAB_0013f15e;\n        }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar22 = ap->gp_offset;\n          goto LAB_0013f15e;\n        }" { (expression_statement "uVar22 = ap->gp_offset;" (assignment_expression "uVar22 = ap->gp_offset" identifier = (field_expression "ap->gp_offset" identifier -> field_identifier)) ;) (goto_statement "goto LAB_0013f15e;" goto statement_identifier ;) })) (goto_statement "goto LAB_0013f4cf;" goto statement_identifier ;)) (case_statement "default:\n        goto switchD_0013ea21_caseD_11;" default : (goto_statement "goto switchD_0013ea21_caseD_11;" goto statement_identifier ;)) })) (expression_statement "bVar10 = pbVar30[1];" (assignment_expression "bVar10 = pbVar30[1]" identifier = (subscript_expression "pbVar30[1]" identifier [ number_literal ])) ;) (labeled_statement "joined_r0x0013ebb8:\n      fmt = (char *)(pbVar30 + 1);" statement_identifier : (expression_statement "fmt = (char *)(pbVar30 + 1);" (assignment_expression "fmt = (char *)(pbVar30 + 1)" identifier = (cast_expression "(char *)(pbVar30 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar30 + 1)" ( (binary_expression "pbVar30 + 1" identifier + number_literal) )))) ;)) }) while (parenthesized_expression "(bVar10 != 0)" ( (binary_expression "bVar10 != 0" identifier != number_literal) )) ;) })) (labeled_statement "switchD_0013ea21_caseD_11:\n  if (lVar2 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }" statement_identifier : (if_statement "if (lVar2 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }" if (parenthesized_expression "(lVar2 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "lVar2 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "void FUN_0013e7b0(undefined8 *param_1,byte *param_2,uint *param_3)\n\n{\n  double *pdVar1;\n  long *plVar2;\n  double dVar3;\n  double dVar4;\n  bool bVar5;\n  double dVar6;\n  byte bVar7;\n  byte bVar8;\n  int iVar9;\n  uint uVar10;\n  undefined4 uVar11;\n  uint uVar12;\n  byte *pbVar13;\n  byte *pbVar14;\n  size_t sVar15;\n  long *plVar16;\n  byte *pbVar17;\n  char cVar18;\n  uint uVar19;\n  int iVar20;\n  int *piVar21;\n  ulong *puVar22;\n  long lVar23;\n  byte *pbVar24;\n  byte bVar25;\n  undefined8 *puVar26;\n  long lVar27;\n  ulong uVar28;\n  int iVar29;\n  long lVar30;\n  int iVar31;\n  uint *puVar32;\n  char cVar33;\n  char *pcVar34;\n  byte bVar35;\n  byte bVar36;\n  ulong uVar37;\n  byte *pbVar38;\n  long in_FS_OFFSET;\n  bool bVar39;\n  bool bVar40;\n  double dVar41;\n  double dVar42;\n  byte *local_e0;\n  int *local_d8;\n  int local_c8;\n  byte local_b6;\n  byte local_b5;\n  byte local_88 [69];\n  byte local_43 [3];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_b6 = *(byte *)((long)param_1 + 0x1d) & 2;\n  local_d8 = (int *)0x0;\n  if ((*(byte *)((long)param_1 + 0x1d) & 2) != 0) {\n    uVar10 = *param_3;\n    if (uVar10 < 0x30) {\n      puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n      *param_3 = uVar10 + 8;\n    }\n    else {\n      puVar26 = *(undefined8 **)(param_3 + 2);\n      *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n    }\n    local_d8 = (int *)*puVar26;\n    local_b6 = 1;\n  }\n  bVar7 = *param_2;\n  if (bVar7 != 0) {\n    pbVar38 = (byte *)0x0;\n    do {\n      pbVar13 = param_2;\n      if (bVar7 != 0x25) {\n        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);\n        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);\n        pbVar38 = param_2;\n        if (*pbVar13 == 0) break;\n      }\n      iVar9 = (int)(char)pbVar13[1];\n      if (pbVar13[1] == 0) {\n        FUN_0013e580(param_1,&DAT_001e9c91,1);\n        break;\n      }\n      bVar39 = false;\n      uVar10 = 0xffffffff;\n      bVar36 = 0;\n      bVar25 = 0;\n      bVar5 = false;\n      bVar35 = 0;\n      bVar7 = 0;\n      pbVar24 = (byte *)0x0;\n      pbVar13 = pbVar13 + 1;\n      do {\n        param_2 = pbVar13;\n        switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar13 = param_2;\n      } while (iVar9 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar18 = '\0';\nLAB_0013e9c2:\n      uVar12 = (uint)pbVar24;\n      pcVar34 = "s";\n      iVar29 = 0;\n      iVar31 = 100;\n      while (iVar31 != iVar9) {\n        iVar29 = iVar29 + 1;\n        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;\n        cVar33 = *pcVar34;\n        pcVar34 = pcVar34 + 6;\n        iVar31 = (int)cVar33;\n      }\n      lVar30 = (long)iVar29;\n      cVar33 = (&DAT_001f5563)[lVar30 * 6];\n      switch(cVar33) {\n      case '\0':\n      case '\x0f':\n        bVar36 = 0;\n      case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;\n      case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar7 = param_2[1];\njoined_r0x0013ebb8:\n      param_2 = param_2 + 1;\n    } while (bVar7 != 0);\n  }\nswitchD_0013ea21_caseD_11:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    \n  __stack_chk_fail();\n}\n\n" (function_definition "void FUN_0013e7b0(undefined8 *param_1,byte *param_2,uint *param_3)\n\n{\n  double *pdVar1;\n  long *plVar2;\n  double dVar3;\n  double dVar4;\n  bool bVar5;\n  double dVar6;\n  byte bVar7;\n  byte bVar8;\n  int iVar9;\n  uint uVar10;\n  undefined4 uVar11;\n  uint uVar12;\n  byte *pbVar13;\n  byte *pbVar14;\n  size_t sVar15;\n  long *plVar16;\n  byte *pbVar17;\n  char cVar18;\n  uint uVar19;\n  int iVar20;\n  int *piVar21;\n  ulong *puVar22;\n  long lVar23;\n  byte *pbVar24;\n  byte bVar25;\n  undefined8 *puVar26;\n  long lVar27;\n  ulong uVar28;\n  int iVar29;\n  long lVar30;\n  int iVar31;\n  uint *puVar32;\n  char cVar33;\n  char *pcVar34;\n  byte bVar35;\n  byte bVar36;\n  ulong uVar37;\n  byte *pbVar38;\n  long in_FS_OFFSET;\n  bool bVar39;\n  bool bVar40;\n  double dVar41;\n  double dVar42;\n  byte *local_e0;\n  int *local_d8;\n  int local_c8;\n  byte local_b6;\n  byte local_b5;\n  byte local_88 [69];\n  byte local_43 [3];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_b6 = *(byte *)((long)param_1 + 0x1d) & 2;\n  local_d8 = (int *)0x0;\n  if ((*(byte *)((long)param_1 + 0x1d) & 2) != 0) {\n    uVar10 = *param_3;\n    if (uVar10 < 0x30) {\n      puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n      *param_3 = uVar10 + 8;\n    }\n    else {\n      puVar26 = *(undefined8 **)(param_3 + 2);\n      *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n    }\n    local_d8 = (int *)*puVar26;\n    local_b6 = 1;\n  }\n  bVar7 = *param_2;\n  if (bVar7 != 0) {\n    pbVar38 = (byte *)0x0;\n    do {\n      pbVar13 = param_2;\n      if (bVar7 != 0x25) {\n        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);\n        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);\n        pbVar38 = param_2;\n        if (*pbVar13 == 0) break;\n      }\n      iVar9 = (int)(char)pbVar13[1];\n      if (pbVar13[1] == 0) {\n        FUN_0013e580(param_1,&DAT_001e9c91,1);\n        break;\n      }\n      bVar39 = false;\n      uVar10 = 0xffffffff;\n      bVar36 = 0;\n      bVar25 = 0;\n      bVar5 = false;\n      bVar35 = 0;\n      bVar7 = 0;\n      pbVar24 = (byte *)0x0;\n      pbVar13 = pbVar13 + 1;\n      do {\n        param_2 = pbVar13;\n        switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar13 = param_2;\n      } while (iVar9 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar18 = '\0';\nLAB_0013e9c2:\n      uVar12 = (uint)pbVar24;\n      pcVar34 = "s";\n      iVar29 = 0;\n      iVar31 = 100;\n      while (iVar31 != iVar9) {\n        iVar29 = iVar29 + 1;\n        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;\n        cVar33 = *pcVar34;\n        pcVar34 = pcVar34 + 6;\n        iVar31 = (int)cVar33;\n      }\n      lVar30 = (long)iVar29;\n      cVar33 = (&DAT_001f5563)[lVar30 * 6];\n      switch(cVar33) {\n      case '\0':\n      case '\x0f':\n        bVar36 = 0;\n      case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;\n      case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar7 = param_2[1];\njoined_r0x0013ebb8:\n      param_2 = param_2 + 1;\n    } while (bVar7 != 0);\n  }\nswitchD_0013ea21_caseD_11:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    \n  __stack_chk_fail();\n}" primitive_type (function_declarator "FUN_0013e7b0(undefined8 *param_1,byte *param_2,uint *param_3)" identifier (parameter_list "(undefined8 *param_1,byte *param_2,uint *param_3)" ( (parameter_declaration "undefined8 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "byte *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  double *pdVar1;\n  long *plVar2;\n  double dVar3;\n  double dVar4;\n  bool bVar5;\n  double dVar6;\n  byte bVar7;\n  byte bVar8;\n  int iVar9;\n  uint uVar10;\n  undefined4 uVar11;\n  uint uVar12;\n  byte *pbVar13;\n  byte *pbVar14;\n  size_t sVar15;\n  long *plVar16;\n  byte *pbVar17;\n  char cVar18;\n  uint uVar19;\n  int iVar20;\n  int *piVar21;\n  ulong *puVar22;\n  long lVar23;\n  byte *pbVar24;\n  byte bVar25;\n  undefined8 *puVar26;\n  long lVar27;\n  ulong uVar28;\n  int iVar29;\n  long lVar30;\n  int iVar31;\n  uint *puVar32;\n  char cVar33;\n  char *pcVar34;\n  byte bVar35;\n  byte bVar36;\n  ulong uVar37;\n  byte *pbVar38;\n  long in_FS_OFFSET;\n  bool bVar39;\n  bool bVar40;\n  double dVar41;\n  double dVar42;\n  byte *local_e0;\n  int *local_d8;\n  int local_c8;\n  byte local_b6;\n  byte local_b5;\n  byte local_88 [69];\n  byte local_43 [3];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_b6 = *(byte *)((long)param_1 + 0x1d) & 2;\n  local_d8 = (int *)0x0;\n  if ((*(byte *)((long)param_1 + 0x1d) & 2) != 0) {\n    uVar10 = *param_3;\n    if (uVar10 < 0x30) {\n      puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n      *param_3 = uVar10 + 8;\n    }\n    else {\n      puVar26 = *(undefined8 **)(param_3 + 2);\n      *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n    }\n    local_d8 = (int *)*puVar26;\n    local_b6 = 1;\n  }\n  bVar7 = *param_2;\n  if (bVar7 != 0) {\n    pbVar38 = (byte *)0x0;\n    do {\n      pbVar13 = param_2;\n      if (bVar7 != 0x25) {\n        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);\n        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);\n        pbVar38 = param_2;\n        if (*pbVar13 == 0) break;\n      }\n      iVar9 = (int)(char)pbVar13[1];\n      if (pbVar13[1] == 0) {\n        FUN_0013e580(param_1,&DAT_001e9c91,1);\n        break;\n      }\n      bVar39 = false;\n      uVar10 = 0xffffffff;\n      bVar36 = 0;\n      bVar25 = 0;\n      bVar5 = false;\n      bVar35 = 0;\n      bVar7 = 0;\n      pbVar24 = (byte *)0x0;\n      pbVar13 = pbVar13 + 1;\n      do {\n        param_2 = pbVar13;\n        switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar13 = param_2;\n      } while (iVar9 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar18 = '\0';\nLAB_0013e9c2:\n      uVar12 = (uint)pbVar24;\n      pcVar34 = "s";\n      iVar29 = 0;\n      iVar31 = 100;\n      while (iVar31 != iVar9) {\n        iVar29 = iVar29 + 1;\n        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;\n        cVar33 = *pcVar34;\n        pcVar34 = pcVar34 + 6;\n        iVar31 = (int)cVar33;\n      }\n      lVar30 = (long)iVar29;\n      cVar33 = (&DAT_001f5563)[lVar30 * 6];\n      switch(cVar33) {\n      case '\0':\n      case '\x0f':\n        bVar36 = 0;\n      case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;\n      case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar7 = param_2[1];\njoined_r0x0013ebb8:\n      param_2 = param_2 + 1;\n    } while (bVar7 != 0);\n  }\nswitchD_0013ea21_caseD_11:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    \n  __stack_chk_fail();\n}" { (declaration "double *pdVar1;" primitive_type (pointer_declarator "*pdVar1" * identifier) ;) (declaration "long *plVar2;" (sized_type_specifier "long" long) (pointer_declarator "*plVar2" * identifier) ;) (declaration "double dVar3;" primitive_type identifier ;) (declaration "double dVar4;" primitive_type identifier ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "double dVar6;" primitive_type identifier ;) (declaration "byte bVar7;" type_identifier identifier ;) (declaration "byte bVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "byte *pbVar13;" type_identifier (pointer_declarator "*pbVar13" * identifier) ;) (declaration "byte *pbVar14;" type_identifier (pointer_declarator "*pbVar14" * identifier) ;) (declaration "size_t sVar15;" primitive_type identifier ;) (declaration "long *plVar16;" (sized_type_specifier "long" long) (pointer_declarator "*plVar16" * identifier) ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "char cVar18;" primitive_type identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "ulong *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "long lVar23;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "byte bVar25;" type_identifier identifier ;) (declaration "undefined8 *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "long lVar27;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar28;" type_identifier identifier ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "long lVar30;" (sized_type_specifier "long" long) identifier ;) (declaration "int iVar31;" primitive_type identifier ;) (declaration "uint *puVar32;" type_identifier (pointer_declarator "*puVar32" * identifier) ;) (declaration "char cVar33;" primitive_type identifier ;) (declaration "char *pcVar34;" primitive_type (pointer_declarator "*pcVar34" * identifier) ;) (declaration "byte bVar35;" type_identifier identifier ;) (declaration "byte bVar36;" type_identifier identifier ;) (declaration "ulong uVar37;" type_identifier identifier ;) (declaration "byte *pbVar38;" type_identifier (pointer_declarator "*pbVar38" * identifier) ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "bool bVar39;" primitive_type identifier ;) (declaration "bool bVar40;" primitive_type identifier ;) (declaration "double dVar41;" primitive_type identifier ;) (declaration "double dVar42;" primitive_type identifier ;) (declaration "byte *local_e0;" type_identifier (pointer_declarator "*local_e0" * identifier) ;) (declaration "int *local_d8;" primitive_type (pointer_declarator "*local_d8" * identifier) ;) (declaration "int local_c8;" primitive_type identifier ;) (declaration "byte local_b6;" type_identifier identifier ;) (declaration "byte local_b5;" type_identifier identifier ;) (declaration "byte local_88 [69];" type_identifier (array_declarator "local_88 [69]" identifier [ number_literal ]) ;) (declaration "byte local_43 [3];" type_identifier (array_declarator "local_43 [3]" identifier [ number_literal ]) ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "local_b6 = *(byte *)((long)param_1 + 0x1d) & 2;" (assignment_expression "local_b6 = *(byte *)((long)param_1 + 0x1d) & 2" identifier = (binary_expression "*(byte *)((long)param_1 + 0x1d) & 2" (pointer_expression "*(byte *)((long)param_1 + 0x1d)" * (cast_expression "(byte *)((long)param_1 + 0x1d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x1d)" ( (binary_expression "(long)param_1 + 0x1d" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal)) ;) (expression_statement "local_d8 = (int *)0x0;" (assignment_expression "local_d8 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((*(byte *)((long)param_1 + 0x1d) & 2) != 0) {\n    uVar10 = *param_3;\n    if (uVar10 < 0x30) {\n      puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n      *param_3 = uVar10 + 8;\n    }\n    else {\n      puVar26 = *(undefined8 **)(param_3 + 2);\n      *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n    }\n    local_d8 = (int *)*puVar26;\n    local_b6 = 1;\n  }" if (parenthesized_expression "((*(byte *)((long)param_1 + 0x1d) & 2) != 0)" ( (binary_expression "(*(byte *)((long)param_1 + 0x1d) & 2) != 0" (parenthesized_expression "(*(byte *)((long)param_1 + 0x1d) & 2)" ( (binary_expression "*(byte *)((long)param_1 + 0x1d) & 2" (pointer_expression "*(byte *)((long)param_1 + 0x1d)" * (cast_expression "(byte *)((long)param_1 + 0x1d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x1d)" ( (binary_expression "(long)param_1 + 0x1d" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n    uVar10 = *param_3;\n    if (uVar10 < 0x30) {\n      puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n      *param_3 = uVar10 + 8;\n    }\n    else {\n      puVar26 = *(undefined8 **)(param_3 + 2);\n      *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n    }\n    local_d8 = (int *)*puVar26;\n    local_b6 = 1;\n  }" { (expression_statement "uVar10 = *param_3;" (assignment_expression "uVar10 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if (uVar10 < 0x30) {\n      puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n      *param_3 = uVar10 + 8;\n    }\n    else {\n      puVar26 = *(undefined8 **)(param_3 + 2);\n      *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n    }" if (parenthesized_expression "(uVar10 < 0x30)" ( (binary_expression "uVar10 < 0x30" identifier < number_literal) )) (compound_statement "{\n      puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n      *param_3 = uVar10 + 8;\n    }" { (expression_statement "puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));" (assignment_expression "puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4))" identifier = (cast_expression "(undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4))" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar10 + *(long *)(param_3 + 4))" ( (binary_expression "(ulong)uVar10 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier) + (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "*param_3 = uVar10 + 8;" (assignment_expression "*param_3 = uVar10 + 8" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar10 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n      puVar26 = *(undefined8 **)(param_3 + 2);\n      *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n    }" else (compound_statement "{\n      puVar26 = *(undefined8 **)(param_3 + 2);\n      *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n    }" { (expression_statement "puVar26 = *(undefined8 **)(param_3 + 2);" (assignment_expression "puVar26 = *(undefined8 **)(param_3 + 2)" identifier = (pointer_expression "*(undefined8 **)(param_3 + 2)" * (cast_expression "(undefined8 **)(param_3 + 2)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 **)(param_3 + 2) = puVar26 + 1;" (assignment_expression "*(undefined8 **)(param_3 + 2) = puVar26 + 1" (pointer_expression "*(undefined8 **)(param_3 + 2)" * (cast_expression "(undefined8 **)(param_3 + 2)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "puVar26 + 1" identifier + number_literal)) ;) }))) (expression_statement "local_d8 = (int *)*puVar26;" (assignment_expression "local_d8 = (int *)*puVar26" identifier = (cast_expression "(int *)*puVar26" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar26" * identifier))) ;) (expression_statement "local_b6 = 1;" (assignment_expression "local_b6 = 1" identifier = number_literal) ;) })) (expression_statement "bVar7 = *param_2;" (assignment_expression "bVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (if_statement "if (bVar7 != 0) {\n    pbVar38 = (byte *)0x0;\n    do {\n      pbVar13 = param_2;\n      if (bVar7 != 0x25) {\n        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);\n        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);\n        pbVar38 = param_2;\n        if (*pbVar13 == 0) break;\n      }\n      iVar9 = (int)(char)pbVar13[1];\n      if (pbVar13[1] == 0) {\n        FUN_0013e580(param_1,&DAT_001e9c91,1);\n        break;\n      }\n      bVar39 = false;\n      uVar10 = 0xffffffff;\n      bVar36 = 0;\n      bVar25 = 0;\n      bVar5 = false;\n      bVar35 = 0;\n      bVar7 = 0;\n      pbVar24 = (byte *)0x0;\n      pbVar13 = pbVar13 + 1;\n      do {\n        param_2 = pbVar13;\n        switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar13 = param_2;\n      } while (iVar9 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar18 = '\0';\nLAB_0013e9c2:\n      uVar12 = (uint)pbVar24;\n      pcVar34 = "s";\n      iVar29 = 0;\n      iVar31 = 100;\n      while (iVar31 != iVar9) {\n        iVar29 = iVar29 + 1;\n        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;\n        cVar33 = *pcVar34;\n        pcVar34 = pcVar34 + 6;\n        iVar31 = (int)cVar33;\n      }\n      lVar30 = (long)iVar29;\n      cVar33 = (&DAT_001f5563)[lVar30 * 6];\n      switch(cVar33) {\n      case '\0':\n      case '\x0f':\n        bVar36 = 0;\n      case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;\n      case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar7 = param_2[1];\njoined_r0x0013ebb8:\n      param_2 = param_2 + 1;\n    } while (bVar7 != 0);\n  }" if (parenthesized_expression "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )) (compound_statement "{\n    pbVar38 = (byte *)0x0;\n    do {\n      pbVar13 = param_2;\n      if (bVar7 != 0x25) {\n        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);\n        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);\n        pbVar38 = param_2;\n        if (*pbVar13 == 0) break;\n      }\n      iVar9 = (int)(char)pbVar13[1];\n      if (pbVar13[1] == 0) {\n        FUN_0013e580(param_1,&DAT_001e9c91,1);\n        break;\n      }\n      bVar39 = false;\n      uVar10 = 0xffffffff;\n      bVar36 = 0;\n      bVar25 = 0;\n      bVar5 = false;\n      bVar35 = 0;\n      bVar7 = 0;\n      pbVar24 = (byte *)0x0;\n      pbVar13 = pbVar13 + 1;\n      do {\n        param_2 = pbVar13;\n        switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar13 = param_2;\n      } while (iVar9 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar18 = '\0';\nLAB_0013e9c2:\n      uVar12 = (uint)pbVar24;\n      pcVar34 = "s";\n      iVar29 = 0;\n      iVar31 = 100;\n      while (iVar31 != iVar9) {\n        iVar29 = iVar29 + 1;\n        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;\n        cVar33 = *pcVar34;\n        pcVar34 = pcVar34 + 6;\n        iVar31 = (int)cVar33;\n      }\n      lVar30 = (long)iVar29;\n      cVar33 = (&DAT_001f5563)[lVar30 * 6];\n      switch(cVar33) {\n      case '\0':\n      case '\x0f':\n        bVar36 = 0;\n      case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;\n      case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar7 = param_2[1];\njoined_r0x0013ebb8:\n      param_2 = param_2 + 1;\n    } while (bVar7 != 0);\n  }" { (expression_statement "pbVar38 = (byte *)0x0;" (assignment_expression "pbVar38 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      pbVar13 = param_2;\n      if (bVar7 != 0x25) {\n        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);\n        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);\n        pbVar38 = param_2;\n        if (*pbVar13 == 0) break;\n      }\n      iVar9 = (int)(char)pbVar13[1];\n      if (pbVar13[1] == 0) {\n        FUN_0013e580(param_1,&DAT_001e9c91,1);\n        break;\n      }\n      bVar39 = false;\n      uVar10 = 0xffffffff;\n      bVar36 = 0;\n      bVar25 = 0;\n      bVar5 = false;\n      bVar35 = 0;\n      bVar7 = 0;\n      pbVar24 = (byte *)0x0;\n      pbVar13 = pbVar13 + 1;\n      do {\n        param_2 = pbVar13;\n        switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar13 = param_2;\n      } while (iVar9 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar18 = '\0';\nLAB_0013e9c2:\n      uVar12 = (uint)pbVar24;\n      pcVar34 = "s";\n      iVar29 = 0;\n      iVar31 = 100;\n      while (iVar31 != iVar9) {\n        iVar29 = iVar29 + 1;\n        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;\n        cVar33 = *pcVar34;\n        pcVar34 = pcVar34 + 6;\n        iVar31 = (int)cVar33;\n      }\n      lVar30 = (long)iVar29;\n      cVar33 = (&DAT_001f5563)[lVar30 * 6];\n      switch(cVar33) {\n      case '\0':\n      case '\x0f':\n        bVar36 = 0;\n      case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;\n      case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar7 = param_2[1];\njoined_r0x0013ebb8:\n      param_2 = param_2 + 1;\n    } while (bVar7 != 0);" do (compound_statement "{\n      pbVar13 = param_2;\n      if (bVar7 != 0x25) {\n        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);\n        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);\n        pbVar38 = param_2;\n        if (*pbVar13 == 0) break;\n      }\n      iVar9 = (int)(char)pbVar13[1];\n      if (pbVar13[1] == 0) {\n        FUN_0013e580(param_1,&DAT_001e9c91,1);\n        break;\n      }\n      bVar39 = false;\n      uVar10 = 0xffffffff;\n      bVar36 = 0;\n      bVar25 = 0;\n      bVar5 = false;\n      bVar35 = 0;\n      bVar7 = 0;\n      pbVar24 = (byte *)0x0;\n      pbVar13 = pbVar13 + 1;\n      do {\n        param_2 = pbVar13;\n        switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar13 = param_2;\n      } while (iVar9 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar18 = '\0';\nLAB_0013e9c2:\n      uVar12 = (uint)pbVar24;\n      pcVar34 = "s";\n      iVar29 = 0;\n      iVar31 = 100;\n      while (iVar31 != iVar9) {\n        iVar29 = iVar29 + 1;\n        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;\n        cVar33 = *pcVar34;\n        pcVar34 = pcVar34 + 6;\n        iVar31 = (int)cVar33;\n      }\n      lVar30 = (long)iVar29;\n      cVar33 = (&DAT_001f5563)[lVar30 * 6];\n      switch(cVar33) {\n      case '\0':\n      case '\x0f':\n        bVar36 = 0;\n      case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;\n      case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar7 = param_2[1];\njoined_r0x0013ebb8:\n      param_2 = param_2 + 1;\n    }" { (expression_statement "pbVar13 = param_2;" (assignment_expression "pbVar13 = param_2" identifier = identifier) ;) (if_statement "if (bVar7 != 0x25) {\n        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);\n        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);\n        pbVar38 = param_2;\n        if (*pbVar13 == 0) break;\n      }" if (parenthesized_expression "(bVar7 != 0x25)" ( (binary_expression "bVar7 != 0x25" identifier != number_literal) )) (compound_statement "{\n        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);\n        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);\n        pbVar38 = param_2;\n        if (*pbVar13 == 0) break;\n      }" { (expression_statement "pbVar13 = (byte *)strchrnul((char *)param_2,0x25);" (assignment_expression "pbVar13 = (byte *)strchrnul((char *)param_2,0x25)" identifier = (cast_expression "(byte *)strchrnul((char *)param_2,0x25)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "strchrnul((char *)param_2,0x25)" identifier (argument_list "((char *)param_2,0x25)" ( (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal ))))) ;) (expression_statement "FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);" (call_expression "FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2)" identifier (argument_list "(param_1,param_2,(long)pbVar13 - (long)param_2)" ( identifier , identifier , (binary_expression "(long)pbVar13 - (long)param_2" (cast_expression "(long)pbVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)param_2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) ;) (expression_statement "pbVar38 = param_2;" (assignment_expression "pbVar38 = param_2" identifier = identifier) ;) (if_statement "if (*pbVar13 == 0) break;" if (parenthesized_expression "(*pbVar13 == 0)" ( (binary_expression "*pbVar13 == 0" (pointer_expression "*pbVar13" * identifier) == number_literal) )) (break_statement "break;" break ;)) })) (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) (if_statement "if (pbVar13[1] == 0) {\n        FUN_0013e580(param_1,&DAT_001e9c91,1);\n        break;\n      }" if (parenthesized_expression "(pbVar13[1] == 0)" ( (binary_expression "pbVar13[1] == 0" (subscript_expression "pbVar13[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        FUN_0013e580(param_1,&DAT_001e9c91,1);\n        break;\n      }" { (expression_statement "FUN_0013e580(param_1,&DAT_001e9c91,1);" (call_expression "FUN_0013e580(param_1,&DAT_001e9c91,1)" identifier (argument_list "(param_1,&DAT_001e9c91,1)" ( identifier , (pointer_expression "&DAT_001e9c91" & identifier) , number_literal ))) ;) (break_statement "break;" break ;) })) (expression_statement "bVar39 = false;" (assignment_expression "bVar39 = false" identifier = false) ;) (expression_statement "uVar10 = 0xffffffff;" (assignment_expression "uVar10 = 0xffffffff" identifier = number_literal) ;) (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" identifier = number_literal) ;) (expression_statement "bVar25 = 0;" (assignment_expression "bVar25 = 0" identifier = number_literal) ;) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "bVar35 = 0;" (assignment_expression "bVar35 = 0" identifier = number_literal) ;) (expression_statement "bVar7 = 0;" (assignment_expression "bVar7 = 0" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)0x0;" (assignment_expression "pbVar24 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar13 = pbVar13 + 1;" (assignment_expression "pbVar13 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (do_statement "do {\n        param_2 = pbVar13;\n        switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar13 = param_2;\n      } while (iVar9 != 0);" do (compound_statement "{\n        param_2 = pbVar13;\n        switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar13 = param_2;\n      }" { (expression_statement "param_2 = pbVar13;" (assignment_expression "param_2 = pbVar13" identifier = identifier) ;) (switch_statement "switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }" switch (parenthesized_expression "(iVar9)" ( identifier )) (compound_statement "{\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }" { (case_statement "case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;" case number_literal : (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) (expression_statement "bVar7 = 0x20;" (assignment_expression "bVar7 = 0x20" identifier = number_literal) ;) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;" case number_literal : (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) (expression_statement "bVar25 = 1;" (assignment_expression "bVar25 = 1" identifier = number_literal) ;) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "default:\n          goto switchD_0013e8bf_caseD_22;" default : (goto_statement "goto switchD_0013e8bf_caseD_22;" goto statement_identifier ;)) (case_statement "case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;" case number_literal : (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) (expression_statement "bVar35 = 1;" (assignment_expression "bVar35 = 1" identifier = number_literal) ;) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;" case number_literal : (if_statement "if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }" { (expression_statement "uVar12 = *param_3;" (assignment_expression "uVar12 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }" if (parenthesized_expression "(uVar12 < 0x30)" ( (binary_expression "uVar12 < 0x30" identifier < number_literal) )) (compound_statement "{\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }" { (expression_statement "puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));" (assignment_expression "puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4))" identifier = (cast_expression "(uint *)((ulong)uVar12 + *(long *)(param_3 + 4))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar12 + *(long *)(param_3 + 4))" ( (binary_expression "(ulong)uVar12 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier) + (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "*param_3 = uVar12 + 8;" (assignment_expression "*param_3 = uVar12 + 8" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar12 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }" else (compound_statement "{\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }" { (expression_statement "puVar32 = *(uint **)(param_3 + 2);" (assignment_expression "puVar32 = *(uint **)(param_3 + 2)" identifier = (pointer_expression "*(uint **)(param_3 + 2)" * (cast_expression "(uint **)(param_3 + 2)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(uint **)(param_3 + 2) = puVar32 + 2;" (assignment_expression "*(uint **)(param_3 + 2) = puVar32 + 2" (pointer_expression "*(uint **)(param_3 + 2)" * (cast_expression "(uint **)(param_3 + 2)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "puVar32 + 2" identifier + number_literal)) ;) }))) (expression_statement "uVar12 = *puVar32;" (assignment_expression "uVar12 = *puVar32" identifier = (pointer_expression "*puVar32" * identifier)) ;) }) (else_clause "else {\n            uVar12 = FUN_001203a0();\n          }" else (compound_statement "{\n            uVar12 = FUN_001203a0();\n          }" { (expression_statement "uVar12 = FUN_001203a0();" (assignment_expression "uVar12 = FUN_001203a0()" identifier = (call_expression "FUN_001203a0()" identifier (argument_list "()" ( )))) ;) }))) (expression_statement "pbVar24 = (byte *)(ulong)uVar12;" (assignment_expression "pbVar24 = (byte *)(ulong)uVar12" identifier = (cast_expression "(byte *)(ulong)uVar12" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (if_statement "if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }" if (parenthesized_expression "((int)uVar12 < 0)" ( (binary_expression "(int)uVar12 < 0" (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }" { (if_statement "if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }" if (parenthesized_expression "(uVar12 == 0x80000000)" ( (binary_expression "uVar12 == 0x80000000" identifier == number_literal) )) (compound_statement "{\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }" { (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) (expression_statement "pbVar24 = (byte *)0x0;" (assignment_expression "pbVar24 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }" else (compound_statement "{\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }" { (expression_statement "pbVar24 = (byte *)(ulong)-uVar12;" (assignment_expression "pbVar24 = (byte *)(ulong)-uVar12" identifier = (binary_expression "(byte *)(ulong)-uVar12" (cast_expression "(byte *)(ulong)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ulong)" ( identifier ))) - identifier)) ;) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) }))) })) (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (if_statement "if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }" if (parenthesized_expression "((iVar9 != 0x6c) && (iVar9 != 0x2e))" ( (binary_expression "(iVar9 != 0x6c) && (iVar9 != 0x2e)" (parenthesized_expression "(iVar9 != 0x6c)" ( (binary_expression "iVar9 != 0x6c" identifier != number_literal) )) && (parenthesized_expression "(iVar9 != 0x2e)" ( (binary_expression "iVar9 != 0x2e" identifier != number_literal) ))) )) (compound_statement "{\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }" { (expression_statement "cVar18 = '\0';" (assignment_expression "cVar18 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (goto_statement "goto LAB_0013e9c2;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;" case number_literal : (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) (expression_statement "bVar7 = 0x2b;" (assignment_expression "bVar7 = 0x2b" identifier = number_literal) ;) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;" case number_literal : (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) (expression_statement "bVar36 = 0x2c;" (assignment_expression "bVar36 = 0x2c" identifier = number_literal) ;) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;" case number_literal : (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;" case number_literal : (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) (if_statement "if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }" if (parenthesized_expression "(iVar9 == 0x2a)" ( (binary_expression "iVar9 == 0x2a" identifier == number_literal) )) (compound_statement "{\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }" { (if_statement "if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }" { (expression_statement "uVar10 = *param_3;" (assignment_expression "uVar10 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }" if (parenthesized_expression "(uVar10 < 0x30)" ( (binary_expression "uVar10 < 0x30" identifier < number_literal) )) (compound_statement "{\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }" { (expression_statement "puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));" (assignment_expression "puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4))" identifier = (cast_expression "(uint *)((ulong)uVar10 + *(long *)(param_3 + 4))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar10 + *(long *)(param_3 + 4))" ( (binary_expression "(ulong)uVar10 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier) + (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "*param_3 = uVar10 + 8;" (assignment_expression "*param_3 = uVar10 + 8" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar10 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }" else (compound_statement "{\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }" { (expression_statement "puVar32 = *(uint **)(param_3 + 2);" (assignment_expression "puVar32 = *(uint **)(param_3 + 2)" identifier = (pointer_expression "*(uint **)(param_3 + 2)" * (cast_expression "(uint **)(param_3 + 2)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(uint **)(param_3 + 2) = puVar32 + 2;" (assignment_expression "*(uint **)(param_3 + 2) = puVar32 + 2" (pointer_expression "*(uint **)(param_3 + 2)" * (cast_expression "(uint **)(param_3 + 2)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "puVar32 + 2" identifier + number_literal)) ;) }))) (expression_statement "uVar12 = *puVar32;" (assignment_expression "uVar12 = *puVar32" identifier = (pointer_expression "*puVar32" * identifier)) ;) }) (else_clause "else {\n              uVar12 = FUN_001203a0();\n            }" else (compound_statement "{\n              uVar12 = FUN_001203a0();\n            }" { (expression_statement "uVar12 = FUN_001203a0();" (assignment_expression "uVar12 = FUN_001203a0()" identifier = (call_expression "FUN_001203a0()" identifier (argument_list "()" ( )))) ;) }))) (expression_statement "uVar10 = uVar12;" (assignment_expression "uVar10 = uVar12" identifier = identifier) ;) (if_statement "if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }" if (parenthesized_expression "(((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000))" ( (binary_expression "((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)" (parenthesized_expression "((int)uVar12 < 0)" ( (binary_expression "(int)uVar12 < 0" (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "(uVar10 = -uVar12, uVar12 == 0x80000000)" ( (comma_expression "uVar10 = -uVar12, uVar12 == 0x80000000" (assignment_expression "uVar10 = -uVar12" identifier = (unary_expression "-uVar12" - identifier)) , (binary_expression "uVar12 == 0x80000000" identifier == number_literal)) ))) )) (compound_statement "{\n              uVar10 = 0xffffffff;\n            }" { (expression_statement "uVar10 = 0xffffffff;" (assignment_expression "uVar10 = 0xffffffff" identifier = number_literal) ;) })) (expression_statement "iVar9 = (int)(char)pbVar13[2];" (assignment_expression "iVar9 = (int)(char)pbVar13[2]" identifier = (cast_expression "(int)(char)pbVar13[2]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[2]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[2]" identifier [ number_literal ])))) ;) (expression_statement "param_2 = pbVar13 + 2;" (assignment_expression "param_2 = pbVar13 + 2" identifier = (binary_expression "pbVar13 + 2" identifier + number_literal)) ;) }) (else_clause "else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }" else (compound_statement "{\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }" { (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (if_statement "if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }" if (parenthesized_expression "(iVar9 - 0x30U < 10)" ( (binary_expression "iVar9 - 0x30U < 10" (binary_expression "iVar9 - 0x30U" identifier - number_literal) < number_literal) )) (compound_statement "{\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }" { (do_statement "do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);" do (compound_statement "{\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              }" { (expression_statement "param_2 = param_2 + 1;" (assignment_expression "param_2 = param_2 + 1" identifier = (binary_expression "param_2 + 1" identifier + number_literal)) ;) (expression_statement "uVar10 = iVar9 + -0x30 + uVar10 * 10;" (assignment_expression "uVar10 = iVar9 + -0x30 + uVar10 * 10" identifier = (binary_expression "iVar9 + -0x30 + uVar10 * 10" (binary_expression "iVar9 + -0x30" identifier + number_literal) + (binary_expression "uVar10 * 10" identifier * number_literal))) ;) (expression_statement "iVar9 = (int)(char)*param_2;" (assignment_expression "iVar9 = (int)(char)*param_2" identifier = (cast_expression "(int)(char)*param_2" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*param_2" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*param_2" * identifier)))) ;) }) while (parenthesized_expression "(iVar9 - 0x30U < 10)" ( (binary_expression "iVar9 - 0x30U < 10" (binary_expression "iVar9 - 0x30U" identifier - number_literal) < number_literal) )) ;) (expression_statement "uVar10 = uVar10 & 0x7fffffff;" (assignment_expression "uVar10 = uVar10 & 0x7fffffff" identifier = (binary_expression "uVar10 & 0x7fffffff" identifier & number_literal)) ;) })) }))) (if_statement "if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;" if (parenthesized_expression "(iVar9 != 0x6c)" ( (binary_expression "iVar9 != 0x6c" identifier != number_literal) )) (goto_statement "goto switchD_0013e8bf_caseD_22;" goto statement_identifier ;)) (expression_statement "iVar9 = (int)(char)*param_2;" (assignment_expression "iVar9 = (int)(char)*param_2" identifier = (cast_expression "(int)(char)*param_2" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*param_2" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*param_2" * identifier)))) ;) (break_statement "break;" break ;)) (case_statement "case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;" case number_literal : (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) (expression_statement "bVar39 = true;" (assignment_expression "bVar39 = true" identifier = true) ;) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x31:" case number_literal :) (case_statement "case 0x32:" case number_literal :) (case_statement "case 0x33:" case number_literal :) (case_statement "case 0x34:" case number_literal :) (case_statement "case 0x35:" case number_literal :) (case_statement "case 0x36:" case number_literal :) (case_statement "case 0x37:" case number_literal :) (case_statement "case 0x38:" case number_literal :) (case_statement "case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;" case number_literal : (expression_statement "iVar29 = (int)(char)pbVar13[1];" (assignment_expression "iVar29 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) (expression_statement "pbVar24 = (byte *)(ulong)(iVar9 - 0x30);" (assignment_expression "pbVar24 = (byte *)(ulong)(iVar9 - 0x30)" identifier = (cast_expression "(byte *)(ulong)(iVar9 - 0x30)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(ulong)(iVar9 - 0x30)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar9 - 0x30)" ( (binary_expression "iVar9 - 0x30" identifier - number_literal) ))))) ;) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (expression_statement "iVar9 = iVar29;" (assignment_expression "iVar9 = iVar29" identifier = identifier) ;) (if_statement "if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }" if (parenthesized_expression "(iVar29 - 0x30U < 10)" ( (binary_expression "iVar29 - 0x30U < 10" (binary_expression "iVar29 - 0x30U" identifier - number_literal) < number_literal) )) (compound_statement "{\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }" { (do_statement "do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);" do (compound_statement "{\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            }" { (expression_statement "pbVar13 = param_2;" (assignment_expression "pbVar13 = param_2" identifier = identifier) ;) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (expression_statement "uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;" (assignment_expression "uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10" identifier = (binary_expression "iVar29 + -0x30 + (int)pbVar24 * 10" (binary_expression "iVar29 + -0x30" identifier + number_literal) + (binary_expression "(int)pbVar24 * 10" (cast_expression "(int)pbVar24" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "pbVar24 = (byte *)(ulong)uVar12;" (assignment_expression "pbVar24 = (byte *)(ulong)uVar12" identifier = (cast_expression "(byte *)(ulong)uVar12" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "iVar29 = (int)(char)pbVar13[1];" (assignment_expression "iVar29 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) }) while (parenthesized_expression "(iVar29 - 0x30U < 10)" ( (binary_expression "iVar29 - 0x30U < 10" (binary_expression "iVar29 - 0x30U" identifier - number_literal) < number_literal) )) ;) (expression_statement "pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);" (assignment_expression "pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff)" identifier = (cast_expression "(byte *)(ulong)(uVar12 & 0x7fffffff)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(ulong)(uVar12 & 0x7fffffff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar12 & 0x7fffffff)" ( (binary_expression "uVar12 & 0x7fffffff" identifier & number_literal) ))))) ;) (expression_statement "iVar9 = iVar29;" (assignment_expression "iVar9 = iVar29" identifier = identifier) ;) })) (if_statement "if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;" if (parenthesized_expression "((iVar9 != 0x2e) && (iVar9 != 0x6c))" ( (binary_expression "(iVar9 != 0x2e) && (iVar9 != 0x6c)" (parenthesized_expression "(iVar9 != 0x2e)" ( (binary_expression "iVar9 != 0x2e" identifier != number_literal) )) && (parenthesized_expression "(iVar9 != 0x6c)" ( (binary_expression "iVar9 != 0x6c" identifier != number_literal) ))) )) (goto_statement "goto switchD_0013e8bf_caseD_22;" goto statement_identifier ;)) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) (break_statement "break;" break ;)) (case_statement "case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;" case number_literal : (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" identifier = (cast_expression "(int)(char)pbVar13[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[1]" identifier [ number_literal ])))) ;) (if_statement "if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }" if (parenthesized_expression "(iVar9 == 0x6c)" ( (binary_expression "iVar9 == 0x6c" identifier == number_literal) )) (compound_statement "{\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }" { (expression_statement "iVar9 = (int)(char)pbVar13[2];" (assignment_expression "iVar9 = (int)(char)pbVar13[2]" identifier = (cast_expression "(int)(char)pbVar13[2]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[2]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[2]" identifier [ number_literal ])))) ;) (expression_statement "cVar18 = '\x02';" (assignment_expression "cVar18 = '\x02'" identifier = (char_literal "'\x02'" ' escape_sequence ')) ;) (expression_statement "param_2 = pbVar13 + 2;" (assignment_expression "param_2 = pbVar13 + 2" identifier = (binary_expression "pbVar13 + 2" identifier + number_literal)) ;) }) (else_clause "else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }" else (compound_statement "{\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }" { (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (expression_statement "cVar18 = '\x01';" (assignment_expression "cVar18 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) }))) (goto_statement "goto LAB_0013e9c2;" goto statement_identifier ;)) })) (expression_statement "pbVar13 = param_2;" (assignment_expression "pbVar13 = param_2" identifier = identifier) ;) }) while (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) ;) (labeled_statement "switchD_0013e8bf_caseD_22:\n      cVar18 = '\0';" statement_identifier : (expression_statement "cVar18 = '\0';" (assignment_expression "cVar18 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;)) (labeled_statement "LAB_0013e9c2:\n      uVar12 = (uint)pbVar24;" statement_identifier : (expression_statement "uVar12 = (uint)pbVar24;" (assignment_expression "uVar12 = (uint)pbVar24" identifier = (cast_expression "(uint)pbVar24" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (expression_statement "pcVar34 = "s";" (assignment_expression "pcVar34 = "s"" identifier = (string_literal ""s"" " string_content ")) ;) (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;) (expression_statement "iVar31 = 100;" (assignment_expression "iVar31 = 100" identifier = number_literal) ;) (while_statement "while (iVar31 != iVar9) {\n        iVar29 = iVar29 + 1;\n        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;\n        cVar33 = *pcVar34;\n        pcVar34 = pcVar34 + 6;\n        iVar31 = (int)cVar33;\n      }" while (parenthesized_expression "(iVar31 != iVar9)" ( (binary_expression "iVar31 != iVar9" identifier != identifier) )) (compound_statement "{\n        iVar29 = iVar29 + 1;\n        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;\n        cVar33 = *pcVar34;\n        pcVar34 = pcVar34 + 6;\n        iVar31 = (int)cVar33;\n      }" { (expression_statement "iVar29 = iVar29 + 1;" (assignment_expression "iVar29 = iVar29 + 1" identifier = (binary_expression "iVar29 + 1" identifier + number_literal)) ;) (if_statement "if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;" if (parenthesized_expression "(iVar29 == 0x17)" ( (binary_expression "iVar29 == 0x17" identifier == number_literal) )) (goto_statement "goto switchD_0013ea21_caseD_11;" goto statement_identifier ;)) (expression_statement "cVar33 = *pcVar34;" (assignment_expression "cVar33 = *pcVar34" identifier = (pointer_expression "*pcVar34" * identifier)) ;) (expression_statement "pcVar34 = pcVar34 + 6;" (assignment_expression "pcVar34 = pcVar34 + 6" identifier = (binary_expression "pcVar34 + 6" identifier + number_literal)) ;) (expression_statement "iVar31 = (int)cVar33;" (assignment_expression "iVar31 = (int)cVar33" identifier = (cast_expression "(int)cVar33" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (expression_statement "lVar30 = (long)iVar29;" (assignment_expression "lVar30 = (long)iVar29" identifier = (cast_expression "(long)iVar29" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "cVar33 = (&DAT_001f5563)[lVar30 * 6];" (assignment_expression "cVar33 = (&DAT_001f5563)[lVar30 * 6]" identifier = (subscript_expression "(&DAT_001f5563)[lVar30 * 6]" (parenthesized_expression "(&DAT_001f5563)" ( (pointer_expression "&DAT_001f5563" & identifier) )) [ (binary_expression "lVar30 * 6" identifier * number_literal) ])) ;) (switch_statement "switch(cVar33) {\n      case '\0':\n      case '\x0f':\n        bVar36 = 0;\n      case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;\n      case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }" switch (parenthesized_expression "(cVar33)" ( identifier )) (compound_statement "{\n      case '\0':\n      case '\x0f':\n        bVar36 = 0;\n      case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;\n      case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }" { (case_statement "case '\0':" case (char_literal "'\0'" ' escape_sequence ') :) (case_statement "case '\x0f':\n        bVar36 = 0;" case (char_literal "'\x0f'" ' escape_sequence ') : (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" identifier = number_literal) ;)) (case_statement "case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;" case (char_literal "'\x10'" ' escape_sequence ') : (if_statement "if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }" if (parenthesized_expression "(((&DAT_001f5562)[lVar30 * 6] & 1) == 0)" ( (binary_expression "((&DAT_001f5562)[lVar30 * 6] & 1) == 0" (parenthesized_expression "((&DAT_001f5562)[lVar30 * 6] & 1)" ( (binary_expression "(&DAT_001f5562)[lVar30 * 6] & 1" (subscript_expression "(&DAT_001f5562)[lVar30 * 6]" (parenthesized_expression "(&DAT_001f5562)" ( (pointer_expression "&DAT_001f5562" & identifier) )) [ (binary_expression "lVar30 * 6" identifier * number_literal) ]) & number_literal) )) == number_literal) )) (compound_statement "{\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }" { (if_statement "if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }" { (expression_statement "uVar19 = *param_3;" (assignment_expression "uVar19 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }" if (parenthesized_expression "(cVar18 == '\0')" ( (binary_expression "cVar18 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }" { (if_statement "if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }" if (parenthesized_expression "(uVar19 < 0x30)" ( (binary_expression "uVar19 < 0x30" identifier < number_literal) )) (compound_statement "{\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }" { (expression_statement "puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));" (assignment_expression "puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4))" identifier = (cast_expression "(uint *)((ulong)uVar19 + *(long *)(param_3 + 4))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar19 + *(long *)(param_3 + 4))" ( (binary_expression "(ulong)uVar19 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) + (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "*param_3 = uVar19 + 8;" (assignment_expression "*param_3 = uVar19 + 8" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar19 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }" else (compound_statement "{\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }" { (expression_statement "puVar32 = *(uint **)(param_3 + 2);" (assignment_expression "puVar32 = *(uint **)(param_3 + 2)" identifier = (pointer_expression "*(uint **)(param_3 + 2)" * (cast_expression "(uint **)(param_3 + 2)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(uint **)(param_3 + 2) = puVar32 + 2;" (assignment_expression "*(uint **)(param_3 + 2) = puVar32 + 2" (pointer_expression "*(uint **)(param_3 + 2)" * (cast_expression "(uint **)(param_3 + 2)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "puVar32 + 2" identifier + number_literal)) ;) }))) (expression_statement "uVar37 = (ulong)*puVar32;" (assignment_expression "uVar37 = (ulong)*puVar32" identifier = (binary_expression "(ulong)*puVar32" (parenthesized_expression "(ulong)" ( identifier )) * identifier)) ;) (expression_statement "bVar7 = 0;" (assignment_expression "bVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }" else (compound_statement "{\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }" { (labeled_statement "LAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }" statement_identifier : (if_statement "if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }" if (parenthesized_expression "(uVar19 < 0x30)" ( (binary_expression "uVar19 < 0x30" identifier < number_literal) )) (compound_statement "{\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }" { (expression_statement "puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));" (assignment_expression "puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4))" identifier = (cast_expression "(ulong *)((ulong)uVar19 + *(long *)(param_3 + 4))" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar19 + *(long *)(param_3 + 4))" ( (binary_expression "(ulong)uVar19 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) + (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "*param_3 = uVar19 + 8;" (assignment_expression "*param_3 = uVar19 + 8" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar19 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }" else (compound_statement "{\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }" { (expression_statement "puVar22 = *(ulong **)(param_3 + 2);" (assignment_expression "puVar22 = *(ulong **)(param_3 + 2)" identifier = (pointer_expression "*(ulong **)(param_3 + 2)" * (cast_expression "(ulong **)(param_3 + 2)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(ulong **)(param_3 + 2) = puVar22 + 1;" (assignment_expression "*(ulong **)(param_3 + 2) = puVar22 + 1" (pointer_expression "*(ulong **)(param_3 + 2)" * (cast_expression "(ulong **)(param_3 + 2)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "puVar22 + 1" identifier + number_literal)) ;) })))) (expression_statement "uVar37 = *puVar22;" (assignment_expression "uVar37 = *puVar22" identifier = (pointer_expression "*puVar22" * identifier)) ;) (expression_statement "bVar7 = 0;" (assignment_expression "bVar7 = 0" identifier = number_literal) ;) }))) }) (else_clause "else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }" else (compound_statement "{\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }" { (labeled_statement "LAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);" statement_identifier : (expression_statement "uVar37 = FUN_001203a0(local_d8);" (assignment_expression "uVar37 = FUN_001203a0(local_d8)" identifier = (call_expression "FUN_001203a0(local_d8)" identifier (argument_list "(local_d8)" ( identifier )))) ;)) (expression_statement "bVar7 = 0;" (assignment_expression "bVar7 = 0" identifier = number_literal) ;) }))) (labeled_statement "LAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }" statement_identifier : (if_statement "if (uVar37 == 0) {\n            bVar35 = 0;\n          }" if (parenthesized_expression "(uVar37 == 0)" ( (binary_expression "uVar37 == 0" identifier == number_literal) )) (compound_statement "{\n            bVar35 = 0;\n          }" { (expression_statement "bVar35 = 0;" (assignment_expression "bVar35 = 0" identifier = number_literal) ;) }))) }) (else_clause "else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }" else (compound_statement "{\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }" { (if_statement "if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }" { (expression_statement "uVar19 = *param_3;" (assignment_expression "uVar19 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }" if (parenthesized_expression "(cVar18 == '\0')" ( (binary_expression "cVar18 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }" { (if_statement "if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }" if (parenthesized_expression "(uVar19 < 0x30)" ( (binary_expression "uVar19 < 0x30" identifier < number_literal) )) (compound_statement "{\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }" { (expression_statement "piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));" (assignment_expression "piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4))" identifier = (cast_expression "(int *)((ulong)uVar19 + *(long *)(param_3 + 4))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar19 + *(long *)(param_3 + 4))" ( (binary_expression "(ulong)uVar19 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) + (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "*param_3 = uVar19 + 8;" (assignment_expression "*param_3 = uVar19 + 8" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar19 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }" else (compound_statement "{\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }" { (expression_statement "piVar21 = *(int **)(param_3 + 2);" (assignment_expression "piVar21 = *(int **)(param_3 + 2)" identifier = (pointer_expression "*(int **)(param_3 + 2)" * (cast_expression "(int **)(param_3 + 2)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(int **)(param_3 + 2) = piVar21 + 2;" (assignment_expression "*(int **)(param_3 + 2) = piVar21 + 2" (pointer_expression "*(int **)(param_3 + 2)" * (cast_expression "(int **)(param_3 + 2)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "piVar21 + 2" identifier + number_literal)) ;) }))) (expression_statement "uVar37 = (ulong)*piVar21;" (assignment_expression "uVar37 = (ulong)*piVar21" identifier = (binary_expression "(ulong)*piVar21" (parenthesized_expression "(ulong)" ( identifier )) * identifier)) ;) (if_statement "if ((long)uVar37 < 0) goto LAB_0013eb61;" if (parenthesized_expression "((long)uVar37 < 0)" ( (binary_expression "(long)uVar37 < 0" (cast_expression "(long)uVar37" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) < number_literal) )) (goto_statement "goto LAB_0013eb61;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }" else (compound_statement "{\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }" { (labeled_statement "LAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }" statement_identifier : (if_statement "if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }" if (parenthesized_expression "(uVar19 < 0x30)" ( (binary_expression "uVar19 < 0x30" identifier < number_literal) )) (compound_statement "{\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }" { (expression_statement "puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));" (assignment_expression "puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4))" identifier = (cast_expression "(ulong *)((ulong)uVar19 + *(long *)(param_3 + 4))" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar19 + *(long *)(param_3 + 4))" ( (binary_expression "(ulong)uVar19 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) + (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "*param_3 = uVar19 + 8;" (assignment_expression "*param_3 = uVar19 + 8" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar19 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }" else (compound_statement "{\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }" { (expression_statement "puVar22 = *(ulong **)(param_3 + 2);" (assignment_expression "puVar22 = *(ulong **)(param_3 + 2)" identifier = (pointer_expression "*(ulong **)(param_3 + 2)" * (cast_expression "(ulong **)(param_3 + 2)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(ulong **)(param_3 + 2) = puVar22 + 1;" (assignment_expression "*(ulong **)(param_3 + 2) = puVar22 + 1" (pointer_expression "*(ulong **)(param_3 + 2)" * (cast_expression "(ulong **)(param_3 + 2)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "puVar22 + 1" identifier + number_literal)) ;) })))) (expression_statement "uVar37 = *puVar22;" (assignment_expression "uVar37 = *puVar22" identifier = (pointer_expression "*puVar22" * identifier)) ;) (if_statement "if ((long)uVar37 < 0) goto LAB_0013f180;" if (parenthesized_expression "((long)uVar37 < 0)" ( (binary_expression "(long)uVar37 < 0" (cast_expression "(long)uVar37" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) < number_literal) )) (goto_statement "goto LAB_0013f180;" goto statement_identifier ;)) }))) (goto_statement "goto LAB_0013f51d;" goto statement_identifier ;) })) (labeled_statement "LAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);" statement_identifier : (expression_statement "uVar37 = FUN_001203a0(local_d8);" (assignment_expression "uVar37 = FUN_001203a0(local_d8)" identifier = (call_expression "FUN_001203a0(local_d8)" identifier (argument_list "(local_d8)" ( identifier )))) ;)) (if_statement "if (-1 < (long)uVar37) goto LAB_0013f51d;" if (parenthesized_expression "(-1 < (long)uVar37)" ( (binary_expression "-1 < (long)uVar37" number_literal < (cast_expression "(long)uVar37" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) (goto_statement "goto LAB_0013f51d;" goto statement_identifier ;)) (labeled_statement "LAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }" statement_identifier : (if_statement "if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }" if (parenthesized_expression "(uVar37 == 0x8000000000000000)" ( (binary_expression "uVar37 == 0x8000000000000000" identifier == number_literal) )) (compound_statement "{\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }" { (expression_statement "bVar7 = 0x2d;" (assignment_expression "bVar7 = 0x2d" identifier = number_literal) ;) (expression_statement "uVar37 = 0x8000000000000000;" (assignment_expression "uVar37 = 0x8000000000000000" identifier = number_literal) ;) }) (else_clause "else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }" else (compound_statement "{\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }" { (labeled_statement "LAB_0013eb61:\n            uVar37 = -uVar37;" statement_identifier : (expression_statement "uVar37 = -uVar37;" (assignment_expression "uVar37 = -uVar37" identifier = (unary_expression "-uVar37" - identifier)) ;)) (expression_statement "bVar7 = 0x2d;" (assignment_expression "bVar7 = 0x2d" identifier = number_literal) ;) })))) }))) (if_statement "if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }" if (parenthesized_expression "((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19))" ( (binary_expression "(bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)" (parenthesized_expression "(bVar39)" ( identifier )) && (parenthesized_expression "(uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)" ( (comma_expression "uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19" (assignment_expression "uVar19 = uVar12 - (bVar7 != 0)" identifier = (binary_expression "uVar12 - (bVar7 != 0)" identifier - (parenthesized_expression "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )))) , (binary_expression "(int)uVar10 < (int)uVar19" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (compound_statement "{\n          uVar10 = uVar19;\n        }" { (expression_statement "uVar10 = uVar19;" (assignment_expression "uVar10 = uVar19" identifier = identifier) ;) })) (if_statement "if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }" if (parenthesized_expression "((int)uVar10 < 0x25)" ( (binary_expression "(int)uVar10 < 0x25" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }" { (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar13 = local_43;" (assignment_expression "pbVar13 = local_43" identifier = identifier) ;) }) (else_clause "else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }" else (compound_statement "{\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }" { (expression_statement "lVar23 = (long)(int)uVar10 + 10;" (assignment_expression "lVar23 = (long)(int)uVar10 + 10" identifier = (binary_expression "(long)(int)uVar10 + 10" (cast_expression "(long)(int)uVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal)) ;) (if_statement "if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }" if (parenthesized_expression "(bVar36 != 0)" ( (binary_expression "bVar36 != 0" identifier != number_literal) )) (compound_statement "{\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }" { (expression_statement "lVar23 = lVar23 + (int)uVar10 / 3;" (assignment_expression "lVar23 = lVar23 + (int)uVar10 / 3" identifier = (binary_expression "lVar23 + (int)uVar10 / 3" identifier + (binary_expression "(int)uVar10 / 3" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) / number_literal))) ;) })) (expression_statement "local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);" (assignment_expression "local_e0 = (byte *)FUN_0011bc10(param_1,lVar23)" identifier = (cast_expression "(byte *)FUN_0011bc10(param_1,lVar23)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0011bc10(param_1,lVar23)" identifier (argument_list "(param_1,lVar23)" ( identifier , identifier ))))) ;) (if_statement "if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;" if (parenthesized_expression "(local_e0 == (byte *)0x0)" ( (binary_expression "local_e0 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto switchD_0013ea21_caseD_11;" goto statement_identifier ;)) (expression_statement "pbVar13 = local_e0 + (long)(int)lVar23 + -1;" (assignment_expression "pbVar13 = local_e0 + (long)(int)lVar23 + -1" identifier = (binary_expression "local_e0 + (long)(int)lVar23 + -1" (binary_expression "local_e0 + (long)(int)lVar23" identifier + (cast_expression "(long)(int)lVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)lVar23" ( (type_descriptor "int" primitive_type) ) identifier))) + number_literal)) ;) }))) (expression_statement "pbVar24 = pbVar13;" (assignment_expression "pbVar24 = pbVar13" identifier = identifier) ;) (if_statement "if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }" if (parenthesized_expression "(cVar33 == '\x0f')" ( (binary_expression "cVar33 == '\x0f'" identifier == (char_literal "'\x0f'" ' escape_sequence ')) )) (compound_statement "{\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }" { (if_statement "if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }" if (parenthesized_expression "((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1))" ( (binary_expression "(uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)" (parenthesized_expression "(uVar37 % 10 < 4)" ( (binary_expression "uVar37 % 10 < 4" (binary_expression "uVar37 % 10" identifier % number_literal) < number_literal) )) && (parenthesized_expression "((uVar37 / 10) % 10 != 1)" ( (binary_expression "(uVar37 / 10) % 10 != 1" (binary_expression "(uVar37 / 10) % 10" (parenthesized_expression "(uVar37 / 10)" ( (binary_expression "uVar37 / 10" identifier / number_literal) )) % number_literal) != number_literal) ))) )) (compound_statement "{\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }" { (expression_statement "iVar9 = (int)(uVar37 % 10) * 2;" (assignment_expression "iVar9 = (int)(uVar37 % 10) * 2" identifier = (binary_expression "(int)(uVar37 % 10) * 2" (cast_expression "(int)(uVar37 % 10)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar37 % 10)" ( (binary_expression "uVar37 % 10" identifier % number_literal) ))) * number_literal)) ;) (expression_statement "bVar25 = "thstndrd"[iVar9 + 1];" (assignment_expression "bVar25 = "thstndrd"[iVar9 + 1]" identifier = (subscript_expression ""thstndrd"[iVar9 + 1]" (string_literal ""thstndrd"" " string_content ") [ (binary_expression "iVar9 + 1" identifier + number_literal) ])) ;) (expression_statement "bVar8 = "thstndrd"[iVar9];" (assignment_expression "bVar8 = "thstndrd"[iVar9]" identifier = (subscript_expression ""thstndrd"[iVar9]" (string_literal ""thstndrd"" " string_content ") [ identifier ])) ;) }) (else_clause "else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }" else (compound_statement "{\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }" { (expression_statement "bVar8 = 0x74;" (assignment_expression "bVar8 = 0x74" identifier = number_literal) ;) (expression_statement "bVar25 = 0x68;" (assignment_expression "bVar25 = 0x68" identifier = number_literal) ;) }))) (expression_statement "pbVar13[-1] = bVar25;" (assignment_expression "pbVar13[-1] = bVar25" (subscript_expression "pbVar13[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar24 = pbVar13 + -2;" (assignment_expression "pbVar24 = pbVar13 + -2" identifier = (binary_expression "pbVar13 + -2" identifier + number_literal)) ;) (expression_statement "pbVar13[-2] = bVar8;" (assignment_expression "pbVar13[-2] = bVar8" (subscript_expression "pbVar13[-2]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "bVar25 = (&DAT_001f5564)[lVar30 * 6];" (assignment_expression "bVar25 = (&DAT_001f5564)[lVar30 * 6]" identifier = (subscript_expression "(&DAT_001f5564)[lVar30 * 6]" (parenthesized_expression "(&DAT_001f5564)" ( (pointer_expression "&DAT_001f5564" & identifier) )) [ (binary_expression "lVar30 * 6" identifier * number_literal) ])) ;) (expression_statement "uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];" (assignment_expression "uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6]" identifier = (subscript_expression "(ulong)(byte)(&DAT_001f5561)[lVar30 * 6]" (call_expression "(ulong)(byte)(&DAT_001f5561)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_001f5561)" ( (pointer_expression "&DAT_001f5561" & identifier) ))) [ (binary_expression "lVar30 * 6" identifier * number_literal) ])) ;) (do_statement "do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);" do (compound_statement "{\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        }" { (expression_statement "pbVar24 = pbVar24 + -1;" (assignment_expression "pbVar24 = pbVar24 + -1" identifier = (binary_expression "pbVar24 + -1" identifier + number_literal)) ;) (expression_statement "*pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];" (assignment_expression "*pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25]" (pointer_expression "*pbVar24" * identifier) = (subscript_expression ""0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25]" (string_literal ""0123456789ABCDEF0123456789abcdef"" " string_content ") [ (binary_expression "uVar37 % uVar28 + (ulong)bVar25" (binary_expression "uVar37 % uVar28" identifier % identifier) + (cast_expression "(ulong)bVar25" ( (type_descriptor "ulong" type_identifier) ) identifier)) ])) ;) (expression_statement "bVar39 = uVar28 <= uVar37;" (assignment_expression "bVar39 = uVar28 <= uVar37" identifier = (binary_expression "uVar28 <= uVar37" identifier <= identifier)) ;) (expression_statement "uVar37 = uVar37 / uVar28;" (assignment_expression "uVar37 = uVar37 / uVar28" identifier = (binary_expression "uVar37 / uVar28" identifier / identifier)) ;) }) while (parenthesized_expression "(bVar39)" ( identifier )) ;) (expression_statement "uVar19 = (int)pbVar13 - (int)pbVar24;" (assignment_expression "uVar19 = (int)pbVar13 - (int)pbVar24" identifier = (binary_expression "(int)pbVar13 - (int)pbVar24" (cast_expression "(int)pbVar13" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar24" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pbVar38 = pbVar24;" (assignment_expression "pbVar38 = pbVar24" identifier = identifier) ;) (if_statement "if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }" if (parenthesized_expression "((int)uVar19 < (int)uVar10)" ( (binary_expression "(int)uVar19 < (int)uVar10" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }" { (expression_statement "pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);" (assignment_expression "pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19)" identifier = (binary_expression "pbVar24 + ~(ulong)((uVar10 - 1) - uVar19)" identifier + (unary_expression "~(ulong)((uVar10 - 1) - uVar19)" ~ (call_expression "(ulong)((uVar10 - 1) - uVar19)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uVar10 - 1) - uVar19)" ( (binary_expression "(uVar10 - 1) - uVar19" (parenthesized_expression "(uVar10 - 1)" ( (binary_expression "uVar10 - 1" identifier - number_literal) )) - identifier) )))))) ;) (do_statement "do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);" do (compound_statement "{\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          }" { (expression_statement "pbVar24 = pbVar24 + -1;" (assignment_expression "pbVar24 = pbVar24 + -1" identifier = (binary_expression "pbVar24 + -1" identifier + number_literal)) ;) (expression_statement "*pbVar24 = 0x30;" (assignment_expression "*pbVar24 = 0x30" (pointer_expression "*pbVar24" * identifier) = number_literal) ;) (expression_statement "uVar19 = uVar10;" (assignment_expression "uVar19 = uVar10" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar24 != pbVar38)" ( (binary_expression "pbVar24 != pbVar38" identifier != identifier) )) ;) })) (if_statement "if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }" if (parenthesized_expression "(bVar36 != 0)" ( (binary_expression "bVar36 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }" { (expression_statement "iVar29 = (int)(uVar19 - 1) / 3;" (assignment_expression "iVar29 = (int)(uVar19 - 1) / 3" identifier = (binary_expression "(int)(uVar19 - 1) / 3" (cast_expression "(int)(uVar19 - 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar19 - 1)" ( (binary_expression "uVar19 - 1" identifier - number_literal) ))) / number_literal)) ;) (expression_statement "iVar9 = (int)(uVar19 - 1) % 3 + 1;" (assignment_expression "iVar9 = (int)(uVar19 - 1) % 3 + 1" identifier = (binary_expression "(int)(uVar19 - 1) % 3 + 1" (binary_expression "(int)(uVar19 - 1) % 3" (cast_expression "(int)(uVar19 - 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar19 - 1)" ( (binary_expression "uVar19 - 1" identifier - number_literal) ))) % number_literal) + number_literal)) ;) (expression_statement "pbVar38 = pbVar38 + -(long)iVar29;" (assignment_expression "pbVar38 = pbVar38 + -(long)iVar29" identifier = (binary_expression "pbVar38 + -(long)iVar29" identifier + (unary_expression "-(long)iVar29" - (cast_expression "(long)iVar29" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)))) ;) (if_statement "if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }" if (parenthesized_expression "(iVar29 != 0)" ( (binary_expression "iVar29 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }" { (expression_statement "iVar31 = 0;" (assignment_expression "iVar31 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }" { (do_statement "do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);" do (compound_statement "{\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              }" { (expression_statement "iVar20 = iVar31;" (assignment_expression "iVar20 = iVar31" identifier = identifier) ;) (expression_statement "pbVar38[iVar20] = pbVar38[iVar29 + iVar20];" (assignment_expression "pbVar38[iVar20] = pbVar38[iVar29 + iVar20]" (subscript_expression "pbVar38[iVar20]" identifier [ identifier ]) = (subscript_expression "pbVar38[iVar29 + iVar20]" identifier [ (binary_expression "iVar29 + iVar20" identifier + identifier) ])) ;) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "iVar31 = iVar20 + 1;" (assignment_expression "iVar31 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) ;) (expression_statement "pbVar38[iVar20 + 1] = bVar36;" (assignment_expression "pbVar38[iVar20 + 1] = bVar36" (subscript_expression "pbVar38[iVar20 + 1]" identifier [ (binary_expression "iVar20 + 1" identifier + number_literal) ]) = identifier) ;) (expression_statement "iVar29 = iVar29 + -1;" (assignment_expression "iVar29 = iVar29 + -1" identifier = (binary_expression "iVar29 + -1" identifier + number_literal)) ;) (if_statement "if (iVar29 == 0) break;" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = 3;" (assignment_expression "iVar9 = 3" identifier = number_literal) ;) (expression_statement "iVar31 = iVar20 + 2;" (assignment_expression "iVar31 = iVar20 + 2" identifier = (binary_expression "iVar20 + 2" identifier + number_literal)) ;) })) })) })) (if_statement "if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }" if (parenthesized_expression "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }" { (expression_statement "pbVar38[-1] = bVar7;" (assignment_expression "pbVar38[-1] = bVar7" (subscript_expression "pbVar38[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar38 = pbVar38 + -1;" (assignment_expression "pbVar38 = pbVar38 + -1" identifier = (binary_expression "pbVar38 + -1" identifier + number_literal)) ;) })) (if_statement "if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }" if (parenthesized_expression "((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0))" ( (binary_expression "(bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)" (parenthesized_expression "(bVar35 != 0)" ( (binary_expression "bVar35 != 0" identifier != number_literal) )) && (parenthesized_expression "(bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)" ( (comma_expression "bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0" (assignment_expression "bVar7 = (&DAT_001f5565)[lVar30 * 6]" identifier = (subscript_expression "(&DAT_001f5565)[lVar30 * 6]" (parenthesized_expression "(&DAT_001f5565)" ( (pointer_expression "&DAT_001f5565" & identifier) )) [ (binary_expression "lVar30 * 6" identifier * number_literal) ])) , (binary_expression "bVar7 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }" { (expression_statement "pbVar24 = &DAT_001f55ea + bVar7;" (assignment_expression "pbVar24 = &DAT_001f55ea + bVar7" identifier = (binary_expression "&DAT_001f55ea + bVar7" (pointer_expression "&DAT_001f55ea" & identifier) + identifier)) ;) (expression_statement "bVar7 = (&DAT_001f55ea)[bVar7];" (assignment_expression "bVar7 = (&DAT_001f55ea)[bVar7]" identifier = (subscript_expression "(&DAT_001f55ea)[bVar7]" (parenthesized_expression "(&DAT_001f55ea)" ( (pointer_expression "&DAT_001f55ea" & identifier) )) [ identifier ])) ;) (while_statement "while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }" while (parenthesized_expression "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )) (compound_statement "{\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }" { (expression_statement "pbVar38 = pbVar38 + -1;" (assignment_expression "pbVar38 = pbVar38 + -1" identifier = (binary_expression "pbVar38 + -1" identifier + number_literal)) ;) (expression_statement "pbVar24 = pbVar24 + 1;" (assignment_expression "pbVar24 = pbVar24 + 1" identifier = (binary_expression "pbVar24 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar38 = bVar7;" (assignment_expression "*pbVar38 = bVar7" (pointer_expression "*pbVar38" * identifier) = identifier) ;) (expression_statement "bVar7 = *pbVar24;" (assignment_expression "bVar7 = *pbVar24" identifier = (pointer_expression "*pbVar24" * identifier)) ;) })) })) (expression_statement "uVar10 = (int)pbVar13 - (int)pbVar38;" (assignment_expression "uVar10 = (int)pbVar13 - (int)pbVar38" identifier = (binary_expression "(int)pbVar13 - (int)pbVar38" (cast_expression "(int)pbVar13" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar38" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar37 = (ulong)uVar10;" (assignment_expression "uVar37 = (ulong)uVar10" identifier = (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "pbVar24 = (byte *)(ulong)(uVar12 - uVar10);" (assignment_expression "pbVar24 = (byte *)(ulong)(uVar12 - uVar10)" identifier = (cast_expression "(byte *)(ulong)(uVar12 - uVar10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(ulong)(uVar12 - uVar10)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar12 - uVar10)" ( (binary_expression "uVar12 - uVar10" identifier - identifier) ))))) ;) (labeled_statement "LAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }" statement_identifier : (if_statement "if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }" if (parenthesized_expression "((int)pbVar24 < 1)" ( (binary_expression "(int)pbVar24 < 1" (cast_expression "(int)pbVar24" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }" { (labeled_statement "LAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);" statement_identifier : (expression_statement "FUN_0013e580(param_1,pbVar38,uVar37);" (call_expression "FUN_0013e580(param_1,pbVar38,uVar37)" identifier (argument_list "(param_1,pbVar38,uVar37)" ( identifier , identifier , identifier ))) ;)) }) (else_clause "else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }" else (if_statement "if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }" if (parenthesized_expression "(bVar5)" ( identifier )) (compound_statement "{\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }" { (expression_statement "FUN_0013e580(param_1,pbVar38,uVar37);" (call_expression "FUN_0013e580(param_1,pbVar38,uVar37)" identifier (argument_list "(param_1,pbVar38,uVar37)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_0013e4b0(param_1,pbVar24,0x20);" (call_expression "FUN_0013e4b0(param_1,pbVar24,0x20)" identifier (argument_list "(param_1,pbVar24,0x20)" ( identifier , identifier , number_literal ))) ;) }) (else_clause "else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }" else (compound_statement "{\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }" { (expression_statement "FUN_0013e4b0(param_1,pbVar24,0x20);" (call_expression "FUN_0013e4b0(param_1,pbVar24,0x20)" identifier (argument_list "(param_1,pbVar24,0x20)" ( identifier , identifier , number_literal ))) ;) (expression_statement "FUN_0013e580(param_1,pbVar38,uVar37);" (call_expression "FUN_0013e580(param_1,pbVar38,uVar37)" identifier (argument_list "(param_1,pbVar38,uVar37)" ( identifier , identifier , identifier ))) ;) })))))) (if_statement "if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }" if (parenthesized_expression "(local_e0 != (byte *)0x0)" ( (binary_expression "local_e0 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          FUN_00119e90(*param_1,local_e0);\n        }" { (expression_statement "FUN_00119e90(*param_1,local_e0);" (call_expression "FUN_00119e90(*param_1,local_e0)" identifier (argument_list "(*param_1,local_e0)" ( (pointer_expression "*param_1" * identifier) , identifier ))) ;) })) (break_statement "break;" break ;)) (case_statement "case '\x01':" case (char_literal "'\x01'" ' escape_sequence ') :) (case_statement "case '\x02':" case (char_literal "'\x02'" ' escape_sequence ') :) (case_statement "case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;" case (char_literal "'\x03'" ' escape_sequence ') : (if_statement "if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }" { (expression_statement "uVar19 = param_3[1];" (assignment_expression "uVar19 = param_3[1]" identifier = (subscript_expression "param_3[1]" identifier [ number_literal ])) ;) (if_statement "if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }" if (parenthesized_expression "(uVar19 < 0xb0)" ( (binary_expression "uVar19 < 0xb0" identifier < number_literal) )) (compound_statement "{\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }" { (expression_statement "param_3[1] = uVar19 + 0x10;" (assignment_expression "param_3[1] = uVar19 + 0x10" (subscript_expression "param_3[1]" identifier [ number_literal ]) = (binary_expression "uVar19 + 0x10" identifier + number_literal)) ;) (expression_statement "dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));" (assignment_expression "dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4))" identifier = (pointer_expression "*(double *)((ulong)uVar19 + *(long *)(param_3 + 4))" * (cast_expression "(double *)((ulong)uVar19 + *(long *)(param_3 + 4))" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar19 + *(long *)(param_3 + 4))" ( (binary_expression "(ulong)uVar19 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) + (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) ))))) ;) }) (else_clause "else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }" else (compound_statement "{\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }" { (expression_statement "pdVar1 = *(double **)(param_3 + 2);" (assignment_expression "pdVar1 = *(double **)(param_3 + 2)" identifier = (pointer_expression "*(double **)(param_3 + 2)" * (cast_expression "(double **)(param_3 + 2)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(double **)(param_3 + 2) = pdVar1 + 1;" (assignment_expression "*(double **)(param_3 + 2) = pdVar1 + 1" (pointer_expression "*(double **)(param_3 + 2)" * (cast_expression "(double **)(param_3 + 2)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "pdVar1 + 1" identifier + number_literal)) ;) (expression_statement "dVar41 = *pdVar1;" (assignment_expression "dVar41 = *pdVar1" identifier = (pointer_expression "*pdVar1" * identifier)) ;) }))) (if_statement "if (uVar10 == 0xffffffff) goto LAB_0013ec1b;" if (parenthesized_expression "(uVar10 == 0xffffffff)" ( (binary_expression "uVar10 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_0013ec1b;" goto statement_identifier ;)) (labeled_statement "LAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;" statement_identifier : (expression_statement "bVar40 = 0 < (int)uVar10;" (assignment_expression "bVar40 = 0 < (int)uVar10" identifier = (binary_expression "0 < (int)uVar10" number_literal < (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) }) (else_clause "else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }" else (compound_statement "{\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }" { (expression_statement "iVar9 = local_d8[1];" (assignment_expression "iVar9 = local_d8[1]" identifier = (subscript_expression "local_d8[1]" identifier [ number_literal ])) ;) (if_statement "if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }" if (parenthesized_expression "(iVar9 < *local_d8)" ( (binary_expression "iVar9 < *local_d8" identifier < (pointer_expression "*local_d8" * identifier)) )) (compound_statement "{\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }" { (expression_statement "local_d8[1] = iVar9 + 1;" (assignment_expression "local_d8[1] = iVar9 + 1" (subscript_expression "local_d8[1]" identifier [ number_literal ]) = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));" (assignment_expression "dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8))" identifier = (cast_expression "(double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8))" ( (type_descriptor "double" primitive_type) ) (call_expression "thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8))" identifier (argument_list "(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8))" ( (pointer_expression "*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8)" * (cast_expression "(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(local_d8 + 2) + (long)iVar9 * 8)" ( (binary_expression "*(long *)(local_d8 + 2) + (long)iVar9 * 8" (pointer_expression "*(long *)(local_d8 + 2)" * (cast_expression "(long *)(local_d8 + 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_d8 + 2)" ( (binary_expression "local_d8 + 2" identifier + number_literal) )))) + (binary_expression "(long)iVar9 * 8" (cast_expression "(long)iVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal)) )))) ))))) ;) }) (else_clause "else {\n            dVar41 = 0.0;\n          }" else (compound_statement "{\n            dVar41 = 0.0;\n          }" { (expression_statement "dVar41 = 0.0;" (assignment_expression "dVar41 = 0.0" identifier = number_literal) ;) }))) (if_statement "if (uVar10 != 0xffffffff) goto LAB_0013fb0a;" if (parenthesized_expression "(uVar10 != 0xffffffff)" ( (binary_expression "uVar10 != 0xffffffff" identifier != number_literal) )) (goto_statement "goto LAB_0013fb0a;" goto statement_identifier ;)) (labeled_statement "LAB_0013ec1b:\n          bVar40 = true;" statement_identifier : (expression_statement "bVar40 = true;" (assignment_expression "bVar40 = true" identifier = true) ;)) (expression_statement "uVar10 = 6;" (assignment_expression "uVar10 = 6" identifier = number_literal) ;) }))) (if_statement "if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }" if (parenthesized_expression "(dVar41 < 0.0)" ( (binary_expression "dVar41 < 0.0" identifier < number_literal) )) (compound_statement "{\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }" { (expression_statement "dVar41 = -dVar41;" (assignment_expression "dVar41 = -dVar41" identifier = (unary_expression "-dVar41" - identifier)) ;) (expression_statement "bVar7 = 0x2d;" (assignment_expression "bVar7 = 0x2d" identifier = number_literal) ;) })) (expression_statement "dVar42 = DAT_001fae78;" (assignment_expression "dVar42 = DAT_001fae78" identifier = identifier) ;) (if_statement "if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }" if (parenthesized_expression "((cVar33 != '\x03') || (!bVar40))" ( (binary_expression "(cVar33 != '\x03') || (!bVar40)" (parenthesized_expression "(cVar33 != '\x03')" ( (binary_expression "cVar33 != '\x03'" identifier != (char_literal "'\x03'" ' escape_sequence ')) )) || (parenthesized_expression "(!bVar40)" ( (unary_expression "!bVar40" ! identifier) ))) )) (compound_statement "{\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }" { (expression_statement "uVar19 = uVar10 & 0xfff;" (assignment_expression "uVar19 = uVar10 & 0xfff" identifier = (binary_expression "uVar10 & 0xfff" identifier & number_literal)) ;) (goto_statement "goto joined_r0x0013ec49;" goto statement_identifier ;) })) (expression_statement "uVar10 = uVar10 - 1;" (assignment_expression "uVar10 = uVar10 - 1" identifier = (binary_expression "uVar10 - 1" identifier - number_literal)) ;) (expression_statement "uVar19 = uVar10 & 0xfff;" (assignment_expression "uVar19 = uVar10 & 0xfff" identifier = (binary_expression "uVar10 & 0xfff" identifier & number_literal)) ;) (if_statement "if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }" if (parenthesized_expression "(uVar19 != 0)" ( (binary_expression "uVar19 != 0" identifier != number_literal) )) (compound_statement "{\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }" { (do_statement "do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);" do (compound_statement "{\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          }" { (expression_statement "dVar42 = dVar42 * DAT_001faf40;" (assignment_expression "dVar42 = dVar42 * DAT_001faf40" identifier = (binary_expression "dVar42 * DAT_001faf40" identifier * identifier)) ;) (expression_statement "uVar19 = uVar19 - 1;" (assignment_expression "uVar19 = uVar19 - 1" identifier = (binary_expression "uVar19 - 1" identifier - number_literal)) ;) (labeled_statement "joined_r0x0013ec49:" statement_identifier : (expression_statement "" ;)) }) while (parenthesized_expression "(uVar19 != 0)" ( (binary_expression "uVar19 != 0" identifier != number_literal) )) ;) (if_statement "if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }" if (parenthesized_expression "(cVar33 == '\x01')" ( (binary_expression "cVar33 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n            dVar41 = dVar42 + dVar41;\n          }" { (expression_statement "dVar41 = dVar42 + dVar41;" (assignment_expression "dVar41 = dVar42 + dVar41" identifier = (binary_expression "dVar42 + dVar41" identifier + identifier)) ;) })) })) (if_statement "if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }" if (parenthesized_expression "(NAN(dVar41))" ( (call_expression "NAN(dVar41)" identifier (argument_list "(dVar41)" ( identifier ))) )) (compound_statement "{\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }" { (expression_statement "pbVar24 = (byte *)(ulong)(uVar12 - 3);" (assignment_expression "pbVar24 = (byte *)(ulong)(uVar12 - 3)" identifier = (cast_expression "(byte *)(ulong)(uVar12 - 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(ulong)(uVar12 - 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar12 - 3)" ( (binary_expression "uVar12 - 3" identifier - number_literal) ))))) ;) (expression_statement "uVar37 = 3;" (assignment_expression "uVar37 = 3" identifier = number_literal) ;) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar38 = &DAT_001e98fc;" (assignment_expression "pbVar38 = &DAT_001e98fc" identifier = (pointer_expression "&DAT_001e98fc" & identifier)) ;) (goto_statement "goto LAB_0013f018;" goto statement_identifier ;) })) (expression_statement "uVar37 = 0;" (assignment_expression "uVar37 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }" if (parenthesized_expression "(0.0 < dVar41)" ( (binary_expression "0.0 < dVar41" number_literal < identifier) )) (compound_statement "{\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }" { (expression_statement "dVar3 = _DAT_001faf38;" (assignment_expression "dVar3 = _DAT_001faf38" identifier = identifier) ;) (if_statement "if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }" if (parenthesized_expression "(dVar41 < _DAT_001faf38)" ( (binary_expression "dVar41 < _DAT_001faf38" identifier < identifier) )) (compound_statement "{\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }" { (expression_statement "dVar3 = (double)_DAT_001fae18;" (assignment_expression "dVar3 = (double)_DAT_001fae18" identifier = (cast_expression "(double)_DAT_001fae18" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "bVar40 = true;" (assignment_expression "bVar40 = true" identifier = true) ;) (expression_statement "dVar4 = 1.0;" (assignment_expression "dVar4 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }" else (compound_statement "{\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }" { (do_statement "do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);" do (compound_statement "{\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            }" { (expression_statement "dVar4 = dVar3;" (assignment_expression "dVar4 = dVar3" identifier = identifier) ;) (expression_statement "uVar19 = (int)uVar37 + 100;" (assignment_expression "uVar19 = (int)uVar37 + 100" identifier = (binary_expression "(int)uVar37 + 100" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar37 = (ulong)uVar19;" (assignment_expression "uVar37 = (ulong)uVar19" identifier = (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "bVar40 = (int)uVar19 < 0x15f;" (assignment_expression "bVar40 = (int)uVar19 < 0x15f" identifier = (binary_expression "(int)uVar19 < 0x15f" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ;) (expression_statement "dVar3 = _DAT_001faf38 * dVar4;" (assignment_expression "dVar3 = _DAT_001faf38 * dVar4" identifier = (binary_expression "_DAT_001faf38 * dVar4" identifier * identifier)) ;) }) while (parenthesized_expression "(_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f)" ( (binary_expression "_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f" (binary_expression "_DAT_001faf38 * dVar4 <= dVar41" (binary_expression "_DAT_001faf38 * dVar4" identifier * identifier) <= identifier) && (binary_expression "(int)uVar19 < 0x15f" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) )) ;) (expression_statement "dVar3 = dVar4 * (double)_DAT_001fae18;" (assignment_expression "dVar3 = dVar4 * (double)_DAT_001fae18" identifier = (binary_expression "dVar4 * (double)_DAT_001fae18" identifier * (cast_expression "(double)_DAT_001fae18" ( (type_descriptor "double" primitive_type) ) identifier))) ;) }))) (if_statement "if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }" if (parenthesized_expression "((dVar3 <= dVar41) && (bVar40))" ( (binary_expression "(dVar3 <= dVar41) && (bVar40)" (parenthesized_expression "(dVar3 <= dVar41)" ( (binary_expression "dVar3 <= dVar41" identifier <= identifier) )) && (parenthesized_expression "(bVar40)" ( identifier ))) )) (compound_statement "{\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }" { (do_statement "do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);" do (compound_statement "{\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            }" { (expression_statement "dVar4 = dVar3;" (assignment_expression "dVar4 = dVar3" identifier = identifier) ;) (expression_statement "uVar19 = (int)uVar37 + 10;" (assignment_expression "uVar19 = (int)uVar37 + 10" identifier = (binary_expression "(int)uVar37 + 10" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar37 = (ulong)uVar19;" (assignment_expression "uVar37 = (ulong)uVar19" identifier = (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "bVar40 = (int)uVar19 < 0x15f;" (assignment_expression "bVar40 = (int)uVar19 < 0x15f" identifier = (binary_expression "(int)uVar19 < 0x15f" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ;) (expression_statement "dVar3 = dVar4 * (double)_DAT_001fae18;" (assignment_expression "dVar3 = dVar4 * (double)_DAT_001fae18" identifier = (binary_expression "dVar4 * (double)_DAT_001fae18" identifier * (cast_expression "(double)_DAT_001fae18" ( (type_descriptor "double" primitive_type) ) identifier))) ;) }) while (parenthesized_expression "(dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40)" ( (binary_expression "dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40" (binary_expression "dVar4 * (double)_DAT_001fae18 <= dVar41" (binary_expression "dVar4 * (double)_DAT_001fae18" identifier * (cast_expression "(double)_DAT_001fae18" ( (type_descriptor "double" primitive_type) ) identifier)) <= identifier) && identifier) )) ;) })) (expression_statement "dVar3 = (double)_DAT_001fae10;" (assignment_expression "dVar3 = (double)_DAT_001fae10" identifier = (cast_expression "(double)_DAT_001fae10" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (if_statement "if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }" if (parenthesized_expression "((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40))" ( (binary_expression "(dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)" (parenthesized_expression "(dVar4 * dVar3 <= dVar41)" ( (binary_expression "dVar4 * dVar3 <= dVar41" (binary_expression "dVar4 * dVar3" identifier * identifier) <= identifier) )) && (parenthesized_expression "(dVar6 = dVar4 * dVar3, bVar40)" ( (comma_expression "dVar6 = dVar4 * dVar3, bVar40" (assignment_expression "dVar6 = dVar4 * dVar3" identifier = (binary_expression "dVar4 * dVar3" identifier * identifier)) , identifier) ))) )) (compound_statement "{\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }" { (do_statement "do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);" do (compound_statement "{\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            }" { (expression_statement "dVar4 = dVar6;" (assignment_expression "dVar4 = dVar6" identifier = identifier) ;) (expression_statement "uVar19 = (int)uVar37 + 1;" (assignment_expression "uVar19 = (int)uVar37 + 1" identifier = (binary_expression "(int)uVar37 + 1" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar37 = (ulong)uVar19;" (assignment_expression "uVar37 = (ulong)uVar19" identifier = (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "dVar6 = dVar4 * dVar3;" (assignment_expression "dVar6 = dVar4 * dVar3" identifier = (binary_expression "dVar4 * dVar3" identifier * identifier)) ;) }) while (parenthesized_expression "((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41)" ( (binary_expression "(int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41" (binary_expression "(int)uVar19 < 0x15f" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) && (binary_expression "dVar4 * dVar3 <= dVar41" (binary_expression "dVar4 * dVar3" identifier * identifier) <= identifier)) )) ;) })) (for_statement "for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }" for ( (assignment_expression "dVar41 = dVar41 / dVar4" identifier = (binary_expression "dVar41 / dVar4" identifier / identifier)) ; (binary_expression "dVar41 < _DAT_001faf48" identifier < identifier) ; (assignment_expression "dVar41 = dVar41 * (double)_DAT_001fae1c" identifier = (binary_expression "dVar41 * (double)_DAT_001fae1c" identifier * (cast_expression "(double)_DAT_001fae1c" ( (type_descriptor "double" primitive_type) ) identifier))) ) (compound_statement "{\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }" { (expression_statement "uVar37 = (ulong)((int)uVar37 - 8);" (assignment_expression "uVar37 = (ulong)((int)uVar37 - 8)" identifier = (call_expression "(ulong)((int)uVar37 - 8)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((int)uVar37 - 8)" ( (binary_expression "(int)uVar37 - 8" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) )))) ;) })) (for_statement "for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }" for ( ; (binary_expression "dVar41 < 1.0" identifier < number_literal) ; (assignment_expression "dVar41 = dVar41 * dVar3" identifier = (binary_expression "dVar41 * dVar3" identifier * identifier)) ) (compound_statement "{\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }" { (expression_statement "uVar37 = (ulong)((int)uVar37 - 1);" (assignment_expression "uVar37 = (ulong)((int)uVar37 - 1)" identifier = (call_expression "(ulong)((int)uVar37 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((int)uVar37 - 1)" ( (binary_expression "(int)uVar37 - 1" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) )))) ;) })) (if_statement "if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }" if (parenthesized_expression "(0x15e < (int)uVar37)" ( (binary_expression "0x15e < (int)uVar37" number_literal < (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }" { (expression_statement "pbVar38 = local_88;" (assignment_expression "pbVar38 = local_88" identifier = identifier) ;) (expression_statement "pbVar13 = pbVar38 + (bVar7 != 0);" (assignment_expression "pbVar13 = pbVar38 + (bVar7 != 0)" identifier = (binary_expression "pbVar38 + (bVar7 != 0)" identifier + (parenthesized_expression "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )))) ;) (expression_statement "local_88[0] = bVar7;" (assignment_expression "local_88[0] = bVar7" (subscript_expression "local_88[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar13[0] = 0x49;" (assignment_expression "pbVar13[0] = 0x49" (subscript_expression "pbVar13[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar13[1] = 0x6e;" (assignment_expression "pbVar13[1] = 0x6e" (subscript_expression "pbVar13[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar13[2] = 0x66;" (assignment_expression "pbVar13[2] = 0x66" (subscript_expression "pbVar13[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar13[3] = 0;" (assignment_expression "pbVar13[3] = 0" (subscript_expression "pbVar13[3]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }" if (parenthesized_expression "(bVar7 == 0)" ( (binary_expression "bVar7 == 0" identifier == number_literal) )) (compound_statement "{\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }" { (expression_statement "pbVar24 = (byte *)(ulong)(uVar12 - 3);" (assignment_expression "pbVar24 = (byte *)(ulong)(uVar12 - 3)" identifier = (cast_expression "(byte *)(ulong)(uVar12 - 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(ulong)(uVar12 - 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar12 - 3)" ( (binary_expression "uVar12 - 3" identifier - number_literal) ))))) ;) (expression_statement "uVar37 = 3;" (assignment_expression "uVar37 = 3" identifier = number_literal) ;) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }" else (compound_statement "{\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }" { (expression_statement "pbVar24 = (byte *)(ulong)(uVar12 - 4);" (assignment_expression "pbVar24 = (byte *)(ulong)(uVar12 - 4)" identifier = (cast_expression "(byte *)(ulong)(uVar12 - 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(ulong)(uVar12 - 4)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar12 - 4)" ( (binary_expression "uVar12 - 4" identifier - number_literal) ))))) ;) (expression_statement "uVar37 = 4;" (assignment_expression "uVar37 = 4" identifier = number_literal) ;) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (goto_statement "goto LAB_0013f018;" goto statement_identifier ;) })) })) (expression_statement "local_c8 = (int)uVar37;" (assignment_expression "local_c8 = (int)uVar37" identifier = (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_b5 = bVar25;" (assignment_expression "local_b5 = bVar25" identifier = identifier) ;) (if_statement "if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }" if (parenthesized_expression "(cVar33 == '\x01')" ( (binary_expression "cVar33 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }" { (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (if_statement "if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }" if (parenthesized_expression "(-1 < local_c8)" ( (binary_expression "-1 < local_c8" number_literal < identifier) )) (compound_statement "{\n            iVar9 = local_c8;\n          }" { (expression_statement "iVar9 = local_c8;" (assignment_expression "iVar9 = local_c8" identifier = identifier) ;) })) (expression_statement "lVar23 = (long)iVar9;" (assignment_expression "lVar23 = (long)iVar9" identifier = (cast_expression "(long)iVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) }) (else_clause "else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }" else (compound_statement "{\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }" { (expression_statement "dVar41 = dVar42 + dVar41;" (assignment_expression "dVar41 = dVar42 + dVar41" identifier = (binary_expression "dVar42 + dVar41" identifier + identifier)) ;) (if_statement "if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }" if (parenthesized_expression "((double)_DAT_001fae10 <= dVar41)" ( (binary_expression "(double)_DAT_001fae10 <= dVar41" (cast_expression "(double)_DAT_001fae10" ( (type_descriptor "double" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }" { (expression_statement "dVar41 = dVar41 * DAT_001faf40;" (assignment_expression "dVar41 = dVar41 * DAT_001faf40" identifier = (binary_expression "dVar41 * DAT_001faf40" identifier * identifier)) ;) (expression_statement "uVar37 = (ulong)(local_c8 + 1);" (assignment_expression "uVar37 = (ulong)(local_c8 + 1)" identifier = (call_expression "(ulong)(local_c8 + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(local_c8 + 1)" ( (binary_expression "local_c8 + 1" identifier + number_literal) )))) ;) })) (expression_statement "local_c8 = (int)uVar37;" (assignment_expression "local_c8 = (int)uVar37" identifier = (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }" if (parenthesized_expression "(cVar33 == '\x03')" ( (binary_expression "cVar33 == '\x03'" identifier == (char_literal "'\x03'" ' escape_sequence ')) )) (compound_statement "{\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }" { (expression_statement "local_b5 = bVar35 ^ 1;" (assignment_expression "local_b5 = bVar35 ^ 1" identifier = (binary_expression "bVar35 ^ 1" identifier ^ number_literal)) ;) (if_statement "if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }" if (parenthesized_expression "((local_c8 < -4) || ((int)uVar10 < local_c8))" ( (binary_expression "(local_c8 < -4) || ((int)uVar10 < local_c8)" (parenthesized_expression "(local_c8 < -4)" ( (binary_expression "local_c8 < -4" identifier < number_literal) )) || (parenthesized_expression "((int)uVar10 < local_c8)" ( (binary_expression "(int)uVar10 < local_c8" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) ))) )) (compound_statement "{\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }" { (expression_statement "lVar23 = 0;" (assignment_expression "lVar23 = 0" identifier = number_literal) ;) (expression_statement "cVar33 = '\x02';" (assignment_expression "cVar33 = '\x02'" identifier = (char_literal "'\x02'" ' escape_sequence ')) ;) (expression_statement "local_c8 = 0;" (assignment_expression "local_c8 = 0" identifier = number_literal) ;) }) (else_clause "else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }" else (compound_statement "{\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }" { (expression_statement "uVar10 = uVar10 - local_c8;" (assignment_expression "uVar10 = uVar10 - local_c8" identifier = (binary_expression "uVar10 - local_c8" identifier - identifier)) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (if_statement "if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }" if (parenthesized_expression "(-1 < local_c8)" ( (binary_expression "-1 < local_c8" number_literal < identifier) )) (compound_statement "{\n                iVar9 = local_c8;\n              }" { (expression_statement "iVar9 = local_c8;" (assignment_expression "iVar9 = local_c8" identifier = identifier) ;) })) (expression_statement "cVar33 = '\x01';" (assignment_expression "cVar33 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "lVar23 = (long)iVar9;" (assignment_expression "lVar23 = (long)iVar9" identifier = (cast_expression "(long)iVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) }))) }) (else_clause "else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }" else (if_statement "if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }" if (parenthesized_expression "(cVar33 == '\x02')" ( (binary_expression "cVar33 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n            lVar23 = 0;\n            local_c8 = 0;\n          }" { (expression_statement "lVar23 = 0;" (assignment_expression "lVar23 = 0" identifier = number_literal) ;) (expression_statement "local_c8 = 0;" (assignment_expression "local_c8 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }" else (compound_statement "{\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }" { (expression_statement "cVar33 = '\x01';" (assignment_expression "cVar33 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (if_statement "if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }" if (parenthesized_expression "(-1 < local_c8)" ( (binary_expression "-1 < local_c8" number_literal < identifier) )) (compound_statement "{\n              iVar9 = local_c8;\n            }" { (expression_statement "iVar9 = local_c8;" (assignment_expression "iVar9 = local_c8" identifier = identifier) ;) })) (expression_statement "lVar23 = (long)iVar9;" (assignment_expression "lVar23 = (long)iVar9" identifier = (cast_expression "(long)iVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) }))))) }))) (expression_statement "lVar27 = (long)(int)uVar12;" (assignment_expression "lVar27 = (long)(int)uVar12" identifier = (cast_expression "(long)(int)uVar12" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }" if (parenthesized_expression "(lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47)" ( (binary_expression "lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47" (binary_expression "lVar23 + (int)uVar10 + 0xf + lVar27" (binary_expression "lVar23 + (int)uVar10 + 0xf" (binary_expression "lVar23 + (int)uVar10" identifier + (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal) + identifier) < number_literal) )) (compound_statement "{\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }" { (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar38 = local_88;" (assignment_expression "pbVar38 = local_88" identifier = identifier) ;) }) (else_clause "else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }" else (compound_statement "{\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }" { (expression_statement "pbVar38 = (byte *)FUN_0011bc10(param_1);" (assignment_expression "pbVar38 = (byte *)FUN_0011bc10(param_1)" identifier = (cast_expression "(byte *)FUN_0011bc10(param_1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0011bc10(param_1)" identifier (argument_list "(param_1)" ( identifier ))))) ;) (expression_statement "local_e0 = pbVar38;" (assignment_expression "local_e0 = pbVar38" identifier = identifier) ;) (if_statement "if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;" if (parenthesized_expression "(pbVar38 == (byte *)0x0)" ( (binary_expression "pbVar38 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto switchD_0013ea21_caseD_11;" goto statement_identifier ;)) }))) (expression_statement "iVar9 = (uint)bVar25 * 10 + 0x10;" (assignment_expression "iVar9 = (uint)bVar25 * 10 + 0x10" identifier = (binary_expression "(uint)bVar25 * 10 + 0x10" (binary_expression "(uint)bVar25 * 10" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + number_literal)) ;) (expression_statement "bVar40 = 0 < (int)uVar10;" (assignment_expression "bVar40 = 0 < (int)uVar10" identifier = (binary_expression "0 < (int)uVar10" number_literal < (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pbVar17 = pbVar38;" (assignment_expression "pbVar17 = pbVar38" identifier = identifier) ;) (expression_statement "pbVar13 = pbVar38 + 1;" (assignment_expression "pbVar13 = pbVar38 + 1" identifier = (binary_expression "pbVar38 + 1" identifier + number_literal)) ;) (if_statement "if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }" if (parenthesized_expression "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }" { (expression_statement "*pbVar38 = bVar7;" (assignment_expression "*pbVar38 = bVar7" (pointer_expression "*pbVar38" * identifier) = identifier) ;) (expression_statement "pbVar13 = pbVar38 + 2;" (assignment_expression "pbVar13 = pbVar38 + 2" identifier = (binary_expression "pbVar38 + 2" identifier + number_literal)) ;) (expression_statement "pbVar17 = pbVar38 + 1;" (assignment_expression "pbVar17 = pbVar38 + 1" identifier = (binary_expression "pbVar38 + 1" identifier + number_literal)) ;) })) (if_statement "if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }" if (parenthesized_expression "(local_c8 < 0)" ( (binary_expression "local_c8 < 0" identifier < number_literal) )) (compound_statement "{\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }" { (expression_statement "*pbVar17 = 0x30;" (assignment_expression "*pbVar17 = 0x30" (pointer_expression "*pbVar17" * identifier) = number_literal) ;) (expression_statement "uVar19 = local_c8 + 1;" (assignment_expression "uVar19 = local_c8 + 1" identifier = (binary_expression "local_c8 + 1" identifier + number_literal)) ;) (if_statement "if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }" if (parenthesized_expression "(bVar40 || (bVar35 != 0 || bVar25 != 0))" ( (binary_expression "bVar40 || (bVar35 != 0 || bVar25 != 0)" identifier || (parenthesized_expression "(bVar35 != 0 || bVar25 != 0)" ( (binary_expression "bVar35 != 0 || bVar25 != 0" (binary_expression "bVar35 != 0" identifier != number_literal) || (binary_expression "bVar25 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }" { (expression_statement "pbVar17 = pbVar13 + 1;" (assignment_expression "pbVar17 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar13 = 0x2e;" (assignment_expression "*pbVar13 = 0x2e" (pointer_expression "*pbVar13" * identifier) = number_literal) ;) (expression_statement "pbVar13 = pbVar17;" (assignment_expression "pbVar13 = pbVar17" identifier = identifier) ;) (if_statement "if (uVar19 == 0) goto LAB_0013edc4;" if (parenthesized_expression "(uVar19 == 0)" ( (binary_expression "uVar19 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0013edc4;" goto statement_identifier ;)) (labeled_statement "LAB_0013ed90:\n            pbVar17 = pbVar13;" statement_identifier : (expression_statement "pbVar17 = pbVar13;" (assignment_expression "pbVar17 = pbVar13" identifier = identifier) ;)) (do_statement "do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);" do (compound_statement "{\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            }" { (expression_statement "pbVar14 = pbVar17 + 1;" (assignment_expression "pbVar14 = pbVar17 + 1" identifier = (binary_expression "pbVar17 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar17 = 0x30;" (assignment_expression "*pbVar17 = 0x30" (pointer_expression "*pbVar17" * identifier) = number_literal) ;) (expression_statement "pbVar17 = pbVar14;" (assignment_expression "pbVar17 = pbVar14" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar14 != pbVar13 + (ulong)~uVar19 + 1)" ( (binary_expression "pbVar14 != pbVar13 + (ulong)~uVar19 + 1" identifier != (binary_expression "pbVar13 + (ulong)~uVar19 + 1" (binary_expression "pbVar13 + (ulong)~uVar19" identifier + (cast_expression "(ulong)~uVar19" ( (type_descriptor "ulong" type_identifier) ) (unary_expression "~uVar19" ~ identifier))) + number_literal)) )) ;) (expression_statement "uVar10 = (uVar10 - 1) + local_c8 + 2;" (assignment_expression "uVar10 = (uVar10 - 1) + local_c8 + 2" identifier = (binary_expression "(uVar10 - 1) + local_c8 + 2" (binary_expression "(uVar10 - 1) + local_c8" (parenthesized_expression "(uVar10 - 1)" ( (binary_expression "uVar10 - 1" identifier - number_literal) )) + identifier) + number_literal)) ;) (expression_statement "pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;" (assignment_expression "pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1" identifier = (binary_expression "pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1" (binary_expression "pbVar13 + (ulong)(uint)-(local_c8 + 2)" (binary_expression "pbVar13 + (ulong)(uint)" identifier + (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier )))) - (parenthesized_expression "(local_c8 + 2)" ( (binary_expression "local_c8 + 2" identifier + number_literal) ))) + number_literal)) ;) (labeled_statement "LAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }" statement_identifier : (if_statement "if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }" if (parenthesized_expression "(0 < (int)uVar10)" ( (binary_expression "0 < (int)uVar10" number_literal < (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }" { (expression_statement "pbVar17 = pbVar13;" (assignment_expression "pbVar17 = pbVar13" identifier = identifier) ;) (do_statement "do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);" do (compound_statement "{\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              }" { (while_statement "while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }" while (parenthesized_expression "(pbVar14 = pbVar17 + 1, 0 < iVar9)" ( (comma_expression "pbVar14 = pbVar17 + 1, 0 < iVar9" (assignment_expression "pbVar14 = pbVar17 + 1" identifier = (binary_expression "pbVar17 + 1" identifier + number_literal)) , (binary_expression "0 < iVar9" number_literal < identifier)) )) (compound_statement "{\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }" { (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "local_c8._0_1_ = (char)(int)ROUND(dVar41);" (assignment_expression "local_c8._0_1_ = (char)(int)ROUND(dVar41)" (field_expression "local_c8._0_1_" identifier . field_identifier) = (cast_expression "(char)(int)ROUND(dVar41)" ( (type_descriptor "char" primitive_type) ) (cast_expression "(int)ROUND(dVar41)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(dVar41)" identifier (argument_list "(dVar41)" ( identifier )))))) ;) (expression_statement "*pbVar17 = (char)local_c8 + 0x30;" (assignment_expression "*pbVar17 = (char)local_c8 + 0x30" (pointer_expression "*pbVar17" * identifier) = (binary_expression "(char)local_c8 + 0x30" (cast_expression "(char)local_c8" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;" (assignment_expression "dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10" identifier = (binary_expression "(dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10" (parenthesized_expression "(dVar41 - (double)(int)ROUND(dVar41))" ( (binary_expression "dVar41 - (double)(int)ROUND(dVar41)" identifier - (cast_expression "(double)(int)ROUND(dVar41)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)ROUND(dVar41)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(dVar41)" identifier (argument_list "(dVar41)" ( identifier )))))) )) * (cast_expression "(double)_DAT_001fae10" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "pbVar17 = pbVar14;" (assignment_expression "pbVar17 = pbVar14" identifier = identifier) ;) (if_statement "if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;" if (parenthesized_expression "(pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1)" ( (binary_expression "pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1" identifier == (binary_expression "pbVar13 + (ulong)(uVar10 - 1) + 1" (binary_expression "pbVar13 + (ulong)(uVar10 - 1)" identifier + (call_expression "(ulong)(uVar10 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar10 - 1)" ( (binary_expression "uVar10 - 1" identifier - number_literal) )))) + number_literal)) )) (goto_statement "goto LAB_0013ee39;" goto statement_identifier ;)) })) (expression_statement "*pbVar17 = 0x30;" (assignment_expression "*pbVar17 = 0x30" (pointer_expression "*pbVar17" * identifier) = number_literal) ;) (expression_statement "pbVar17 = pbVar14;" (assignment_expression "pbVar17 = pbVar14" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1)" ( (binary_expression "pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1" identifier != (binary_expression "pbVar13 + (ulong)(uVar10 - 1) + 1" (binary_expression "pbVar13 + (ulong)(uVar10 - 1)" identifier + (call_expression "(ulong)(uVar10 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar10 - 1)" ( (binary_expression "uVar10 - 1" identifier - number_literal) )))) + number_literal)) )) ;) (labeled_statement "LAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;" statement_identifier : (expression_statement "pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;" (assignment_expression "pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1" identifier = (binary_expression "pbVar13 + (ulong)(uVar10 - 1) + 1" (binary_expression "pbVar13 + (ulong)(uVar10 - 1)" identifier + (call_expression "(ulong)(uVar10 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar10 - 1)" ( (binary_expression "uVar10 - 1" identifier - number_literal) )))) + number_literal)) ;)) }))) (goto_statement "goto LAB_0013ee42;" goto statement_identifier ;) })) (if_statement "if (uVar19 != 0) goto LAB_0013ed90;" if (parenthesized_expression "(uVar19 != 0)" ( (binary_expression "uVar19 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0013ed90;" goto statement_identifier ;)) }) (else_clause "else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }" else (compound_statement "{\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }" { (expression_statement "pbVar13 = pbVar17 + (long)local_c8 + 1;" (assignment_expression "pbVar13 = pbVar17 + (long)local_c8 + 1" identifier = (binary_expression "pbVar17 + (long)local_c8 + 1" (binary_expression "pbVar17 + (long)local_c8" identifier + (cast_expression "(long)local_c8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) + number_literal)) ;) (do_statement "do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);" do (compound_statement "{\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          }" { (while_statement "while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }" while (parenthesized_expression "(pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9)" ( (comma_expression "pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9" (assignment_expression "pbVar14 = pbVar17" identifier = identifier) , (comma_expression "pbVar17 = pbVar14 + 1, 0 < iVar9" (assignment_expression "pbVar17 = pbVar14 + 1" identifier = (binary_expression "pbVar14 + 1" identifier + number_literal)) , (binary_expression "0 < iVar9" number_literal < identifier))) )) (compound_statement "{\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }" { (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "local_c8._0_1_ = (char)(int)ROUND(dVar41);" (assignment_expression "local_c8._0_1_ = (char)(int)ROUND(dVar41)" (field_expression "local_c8._0_1_" identifier . field_identifier) = (cast_expression "(char)(int)ROUND(dVar41)" ( (type_descriptor "char" primitive_type) ) (cast_expression "(int)ROUND(dVar41)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(dVar41)" identifier (argument_list "(dVar41)" ( identifier )))))) ;) (expression_statement "*pbVar14 = (char)local_c8 + 0x30;" (assignment_expression "*pbVar14 = (char)local_c8 + 0x30" (pointer_expression "*pbVar14" * identifier) = (binary_expression "(char)local_c8 + 0x30" (cast_expression "(char)local_c8" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;" (assignment_expression "dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10" identifier = (binary_expression "(dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10" (parenthesized_expression "(dVar41 - (double)(int)ROUND(dVar41))" ( (binary_expression "dVar41 - (double)(int)ROUND(dVar41)" identifier - (cast_expression "(double)(int)ROUND(dVar41)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)ROUND(dVar41)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(dVar41)" identifier (argument_list "(dVar41)" ( identifier )))))) )) * (cast_expression "(double)_DAT_001fae10" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (if_statement "if (pbVar17 == pbVar13) goto LAB_0013fe8d;" if (parenthesized_expression "(pbVar17 == pbVar13)" ( (binary_expression "pbVar17 == pbVar13" identifier == identifier) )) (goto_statement "goto LAB_0013fe8d;" goto statement_identifier ;)) })) (expression_statement "*pbVar14 = 0x30;" (assignment_expression "*pbVar14 = 0x30" (pointer_expression "*pbVar14" * identifier) = number_literal) ;) }) while (parenthesized_expression "(pbVar17 != pbVar13)" ( (binary_expression "pbVar17 != pbVar13" identifier != identifier) )) ;) (labeled_statement "LAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }" statement_identifier : (if_statement "if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }" if (parenthesized_expression "(bVar40 || (bVar35 != 0 || bVar25 != 0))" ( (binary_expression "bVar40 || (bVar35 != 0 || bVar25 != 0)" identifier || (parenthesized_expression "(bVar35 != 0 || bVar25 != 0)" ( (binary_expression "bVar35 != 0 || bVar25 != 0" (binary_expression "bVar35 != 0" identifier != number_literal) || (binary_expression "bVar25 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }" { (expression_statement "pbVar13 = pbVar14 + 2;" (assignment_expression "pbVar13 = pbVar14 + 2" identifier = (binary_expression "pbVar14 + 2" identifier + number_literal)) ;) (expression_statement "*pbVar17 = 0x2e;" (assignment_expression "*pbVar17 = 0x2e" (pointer_expression "*pbVar17" * identifier) = number_literal) ;) (goto_statement "goto LAB_0013edc4;" goto statement_identifier ;) }))) (labeled_statement "LAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }" statement_identifier : (if_statement "if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }" if (parenthesized_expression "((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0)))" ( (binary_expression "(local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))" (parenthesized_expression "(local_b5 != 0)" ( (binary_expression "local_b5 != 0" identifier != number_literal) )) && (parenthesized_expression "(bVar40 || (bVar35 != 0 || bVar25 != 0))" ( (binary_expression "bVar40 || (bVar35 != 0 || bVar25 != 0)" identifier || (parenthesized_expression "(bVar35 != 0 || bVar25 != 0)" ( (binary_expression "bVar35 != 0 || bVar25 != 0" (binary_expression "bVar35 != 0" identifier != number_literal) || (binary_expression "bVar25 != 0" identifier != number_literal)) ))) ))) )) (compound_statement "{\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }" { (while_statement "while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }" while (parenthesized_expression "(pbVar13[-1] == 0x30)" ( (binary_expression "pbVar13[-1] == 0x30" (subscript_expression "pbVar13[-1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }" { (expression_statement "pbVar13 = pbVar13 + -1;" (assignment_expression "pbVar13 = pbVar13 + -1" identifier = (binary_expression "pbVar13 + -1" identifier + number_literal)) ;) (expression_statement "*pbVar13 = 0;" (assignment_expression "*pbVar13 = 0" (pointer_expression "*pbVar13" * identifier) = number_literal) ;) })) (if_statement "if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }" if (parenthesized_expression "(pbVar13[-1] == 0x2e)" ( (binary_expression "pbVar13[-1] == 0x2e" (subscript_expression "pbVar13[-1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }" { (if_statement "if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }" if (parenthesized_expression "(bVar25 == 0)" ( (binary_expression "bVar25 == 0" identifier == number_literal) )) (compound_statement "{\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }" { (expression_statement "pbVar13[-1] = 0;" (assignment_expression "pbVar13[-1] = 0" (subscript_expression "pbVar13[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar13 = pbVar13 + -1;" (assignment_expression "pbVar13 = pbVar13 + -1" identifier = (binary_expression "pbVar13 + -1" identifier + number_literal)) ;) }) (else_clause "else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }" else (compound_statement "{\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }" { (expression_statement "*pbVar13 = 0x30;" (assignment_expression "*pbVar13 = 0x30" (pointer_expression "*pbVar13" * identifier) = number_literal) ;) (expression_statement "pbVar13 = pbVar13 + 1;" (assignment_expression "pbVar13 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) }))) })) }))) }))) (if_statement "if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }" if (parenthesized_expression "(cVar33 == '\x02')" ( (binary_expression "cVar33 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }" { (expression_statement "pbVar17 = pbVar13 + 2;" (assignment_expression "pbVar17 = pbVar13 + 2" identifier = (binary_expression "pbVar13 + 2" identifier + number_literal)) ;) (expression_statement "*pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];" (assignment_expression "*pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]]" (pointer_expression "*pbVar13" * identifier) = (subscript_expression ""0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]]" (string_literal ""0123456789ABCDEF0123456789abcdef"" " string_content ") [ (subscript_expression "(byte)(&DAT_001f5564)[lVar30 * 6]" (call_expression "(byte)(&DAT_001f5564)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(&DAT_001f5564)" ( (pointer_expression "&DAT_001f5564" & identifier) ))) [ (binary_expression "lVar30 * 6" identifier * number_literal) ]) ])) ;) (expression_statement "bVar25 = 0x2b;" (assignment_expression "bVar25 = 0x2b" identifier = number_literal) ;) (if_statement "if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }" if (parenthesized_expression "((int)uVar37 < 0)" ( (binary_expression "(int)uVar37 < 0" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }" { (expression_statement "uVar37 = (ulong)(uint)-(int)uVar37;" (assignment_expression "uVar37 = (ulong)(uint)-(int)uVar37" identifier = (binary_expression "(ulong)(uint)-(int)uVar37" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) - (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "bVar25 = 0x2d;" (assignment_expression "bVar25 = 0x2d" identifier = number_literal) ;) })) (expression_statement "pbVar13[1] = bVar25;" (assignment_expression "pbVar13[1] = bVar25" (subscript_expression "pbVar13[1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }" if (parenthesized_expression "(99 < (int)uVar37)" ( (binary_expression "99 < (int)uVar37" number_literal < (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }" { (expression_statement "pbVar17 = pbVar13 + 3;" (assignment_expression "pbVar17 = pbVar13 + 3" identifier = (binary_expression "pbVar13 + 3" identifier + number_literal)) ;) (expression_statement "pbVar13[2] = (char)(uVar37 / 100) + 0x30;" (assignment_expression "pbVar13[2] = (char)(uVar37 / 100) + 0x30" (subscript_expression "pbVar13[2]" identifier [ number_literal ]) = (binary_expression "(char)(uVar37 / 100) + 0x30" (cast_expression "(char)(uVar37 / 100)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar37 / 100)" ( (binary_expression "uVar37 / 100" identifier / number_literal) ))) + number_literal)) ;) (expression_statement "uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);" (assignment_expression "uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100)" identifier = (call_expression "(ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "((int)uVar37 + (int)(uVar37 / 100) * -100)" ( (binary_expression "(int)uVar37 + (int)(uVar37 / 100) * -100" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)(uVar37 / 100) * -100" (cast_expression "(int)(uVar37 / 100)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar37 / 100)" ( (binary_expression "uVar37 / 100" identifier / number_literal) ))) * number_literal)) )))) ;) })) (expression_statement "pbVar13 = pbVar17 + 2;" (assignment_expression "pbVar13 = pbVar17 + 2" identifier = (binary_expression "pbVar17 + 2" identifier + number_literal)) ;) (expression_statement "cVar18 = (char)(uVar37 / 10);" (assignment_expression "cVar18 = (char)(uVar37 / 10)" identifier = (cast_expression "(char)(uVar37 / 10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar37 / 10)" ( (binary_expression "uVar37 / 10" identifier / number_literal) )))) ;) (expression_statement "*pbVar17 = cVar18 + 0x30;" (assignment_expression "*pbVar17 = cVar18 + 0x30" (pointer_expression "*pbVar17" * identifier) = (binary_expression "cVar18 + 0x30" identifier + number_literal)) ;) (expression_statement "pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;" (assignment_expression "pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30" (subscript_expression "pbVar17[1]" identifier [ number_literal ]) = (binary_expression "(char)uVar37 + cVar18 * -10 + 0x30" (binary_expression "(char)uVar37 + cVar18 * -10" (cast_expression "(char)uVar37" ( (type_descriptor "char" primitive_type) ) identifier) + (binary_expression "cVar18 * -10" identifier * number_literal)) + number_literal)) ;) })) (expression_statement "*pbVar13 = 0;" (assignment_expression "*pbVar13 = 0" (pointer_expression "*pbVar13" * identifier) = number_literal) ;) (expression_statement "iVar9 = (int)((long)pbVar13 - (long)pbVar38);" (assignment_expression "iVar9 = (int)((long)pbVar13 - (long)pbVar38)" identifier = (cast_expression "(int)((long)pbVar13 - (long)pbVar38)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((long)pbVar13 - (long)pbVar38)" ( (binary_expression "(long)pbVar13 - (long)pbVar38" (cast_expression "(long)pbVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pbVar38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;" (assignment_expression "uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff" identifier = (binary_expression "(long)pbVar13 - (long)pbVar38 & 0xffffffff" (binary_expression "(long)pbVar13 - (long)pbVar38" (cast_expression "(long)pbVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pbVar38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) & number_literal)) ;) (if_statement "if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }" if (parenthesized_expression "(!(bool)(bVar39 & (bVar5 ^ 1U)))" ( (unary_expression "!(bool)(bVar39 & (bVar5 ^ 1U))" ! (cast_expression "(bool)(bVar39 & (bVar5 ^ 1U))" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar39 & (bVar5 ^ 1U))" ( (binary_expression "bVar39 & (bVar5 ^ 1U)" identifier & (parenthesized_expression "(bVar5 ^ 1U)" ( (binary_expression "bVar5 ^ 1U" identifier ^ number_literal) ))) )))) )) (compound_statement "{\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }" { (expression_statement "pbVar24 = (byte *)(ulong)(uVar12 - iVar9);" (assignment_expression "pbVar24 = (byte *)(ulong)(uVar12 - iVar9)" identifier = (cast_expression "(byte *)(ulong)(uVar12 - iVar9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(ulong)(uVar12 - iVar9)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar12 - iVar9)" ( (binary_expression "uVar12 - iVar9" identifier - identifier) ))))) ;) (goto_statement "goto LAB_0013f018;" goto statement_identifier ;) })) (if_statement "if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }" if (parenthesized_expression "(iVar9 < (int)uVar12)" ( (binary_expression "iVar9 < (int)uVar12" identifier < (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }" { (expression_statement "iVar9 = uVar12 - iVar9;" (assignment_expression "iVar9 = uVar12 - iVar9" identifier = (binary_expression "uVar12 - iVar9" identifier - identifier)) ;) (if_statement "if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }" if (parenthesized_expression "(iVar9 <= (int)uVar12)" ( (binary_expression "iVar9 <= (int)uVar12" identifier <= (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }" { (do_statement "do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);" do (compound_statement "{\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            }" { (expression_statement "pbVar38[lVar27] = pbVar38[lVar27 - iVar9];" (assignment_expression "pbVar38[lVar27] = pbVar38[lVar27 - iVar9]" (subscript_expression "pbVar38[lVar27]" identifier [ identifier ]) = (subscript_expression "pbVar38[lVar27 - iVar9]" identifier [ (binary_expression "lVar27 - iVar9" identifier - identifier) ])) ;) (expression_statement "lVar27 = lVar27 + -1;" (assignment_expression "lVar27 = lVar27 + -1" identifier = (binary_expression "lVar27 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar9 <= (int)lVar27)" ( (binary_expression "iVar9 <= (int)lVar27" identifier <= (cast_expression "(int)lVar27" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "pbVar13 = pbVar38 + (bVar7 != 0);" (assignment_expression "pbVar13 = pbVar38 + (bVar7 != 0)" identifier = (binary_expression "pbVar38 + (bVar7 != 0)" identifier + (parenthesized_expression "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )))) ;) (do_statement "do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);" do (compound_statement "{\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          }" { (expression_statement "*pbVar13 = 0x30;" (assignment_expression "*pbVar13 = 0x30" (pointer_expression "*pbVar13" * identifier) = number_literal) ;) (expression_statement "pbVar13 = pbVar13 + 1;" (assignment_expression "pbVar13 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (expression_statement "uVar37 = (ulong)pbVar24;" (assignment_expression "uVar37 = (ulong)pbVar24" identifier = (cast_expression "(ulong)pbVar24" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "(pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13)" ( (binary_expression "pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13" (binary_expression "pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1" (binary_expression "pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0)" (binary_expression "pbVar38 + (ulong)(iVar9 - 1)" identifier + (call_expression "(ulong)(iVar9 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar9 - 1)" ( (binary_expression "iVar9 - 1" identifier - number_literal) )))) + (call_expression "(ulong)(bVar7 != 0)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )))) + number_literal) != identifier) )) ;) })) (goto_statement "goto LAB_0013fd63;" goto statement_identifier ;)) (case_statement "case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;" case (char_literal "'\x04'" ' escape_sequence ') : (if_statement "if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }" if (parenthesized_expression "(local_b6 != 0)" ( (binary_expression "local_b6 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }" { (labeled_statement "LAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);" statement_identifier : (expression_statement "FUN_0013e580(param_1,pbVar38,0);" (call_expression "FUN_0013e580(param_1,pbVar38,0)" identifier (argument_list "(param_1,pbVar38,0)" ( identifier , identifier , number_literal ))) ;)) (break_statement "break;" break ;) })) (expression_statement "uVar11 = *(undefined4 *)(param_1 + 3);" (assignment_expression "uVar11 = *(undefined4 *)(param_1 + 3)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 3)" * (cast_expression "(undefined4 *)(param_1 + 3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = *param_3;" (assignment_expression "uVar10 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }" if (parenthesized_expression "(uVar10 < 0x30)" ( (binary_expression "uVar10 < 0x30" identifier < number_literal) )) (compound_statement "{\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }" { (expression_statement "puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));" (assignment_expression "puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4))" identifier = (cast_expression "(undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4))" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar10 + *(long *)(param_3 + 4))" ( (binary_expression "(ulong)uVar10 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier) + (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "*param_3 = uVar10 + 8;" (assignment_expression "*param_3 = uVar10 + 8" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar10 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }" else (compound_statement "{\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }" { (expression_statement "puVar26 = *(undefined8 **)(param_3 + 2);" (assignment_expression "puVar26 = *(undefined8 **)(param_3 + 2)" identifier = (pointer_expression "*(undefined8 **)(param_3 + 2)" * (cast_expression "(undefined8 **)(param_3 + 2)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 **)(param_3 + 2) = puVar26 + 1;" (assignment_expression "*(undefined8 **)(param_3 + 2) = puVar26 + 1" (pointer_expression "*(undefined8 **)(param_3 + 2)" * (cast_expression "(undefined8 **)(param_3 + 2)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "puVar26 + 1" identifier + number_literal)) ;) }))) (expression_statement "*(undefined4 *)*puVar26 = uVar11;" (assignment_expression "*(undefined4 *)*puVar26 = uVar11" (pointer_expression "*(undefined4 *)*puVar26" * (cast_expression "(undefined4 *)*puVar26" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar26" * identifier))) = identifier) ;) (expression_statement "FUN_0013e580(param_1,pbVar38,0);" (call_expression "FUN_0013e580(param_1,pbVar38,0)" identifier (argument_list "(param_1,pbVar38,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "bVar7 = param_2[1];" (assignment_expression "bVar7 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (goto_statement "goto joined_r0x0013ebb8;" goto statement_identifier ;)) (case_statement "case '\x05':" case (char_literal "'\x05'" ' escape_sequence ') :) (case_statement "case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;" case (char_literal "'\x06'" ' escape_sequence ') : (if_statement "if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }" { (expression_statement "uVar19 = *param_3;" (assignment_expression "uVar19 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }" if (parenthesized_expression "(uVar19 < 0x30)" ( (binary_expression "uVar19 < 0x30" identifier < number_literal) )) (compound_statement "{\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }" { (expression_statement "*param_3 = uVar19 + 8;" (assignment_expression "*param_3 = uVar19 + 8" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar19 + 8" identifier + number_literal)) ;) (expression_statement "pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));" (assignment_expression "pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4))" identifier = (pointer_expression "*(byte **)((ulong)uVar19 + *(long *)(param_3 + 4))" * (cast_expression "(byte **)((ulong)uVar19 + *(long *)(param_3 + 4))" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((ulong)uVar19 + *(long *)(param_3 + 4))" ( (binary_expression "(ulong)uVar19 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) + (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) ))))) ;) }) (else_clause "else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }" else (compound_statement "{\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }" { (expression_statement "puVar26 = *(undefined8 **)(param_3 + 2);" (assignment_expression "puVar26 = *(undefined8 **)(param_3 + 2)" identifier = (pointer_expression "*(undefined8 **)(param_3 + 2)" * (cast_expression "(undefined8 **)(param_3 + 2)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 **)(param_3 + 2) = puVar26 + 1;" (assignment_expression "*(undefined8 **)(param_3 + 2) = puVar26 + 1" (pointer_expression "*(undefined8 **)(param_3 + 2)" * (cast_expression "(undefined8 **)(param_3 + 2)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "puVar26 + 1" identifier + number_literal)) ;) (expression_statement "pbVar38 = (byte *)*puVar26;" (assignment_expression "pbVar38 = (byte *)*puVar26" identifier = (cast_expression "(byte *)*puVar26" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar26" * identifier))) ;) }))) (if_statement "if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;" if (parenthesized_expression "(pbVar38 == (byte *)0x0)" ( (binary_expression "pbVar38 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0013fb9a;" goto statement_identifier ;)) (if_statement "if (cVar33 != '\x06') goto LAB_0013f840;" if (parenthesized_expression "(cVar33 != '\x06')" ( (binary_expression "cVar33 != '\x06'" identifier != (char_literal "'\x06'" ' escape_sequence ')) )) (goto_statement "goto LAB_0013f840;" goto statement_identifier ;)) (expression_statement "local_e0 = pbVar38;" (assignment_expression "local_e0 = pbVar38" identifier = identifier) ;) (if_statement "if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;" if (parenthesized_expression "(((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10))))" ( (binary_expression "((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))" (parenthesized_expression "((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0))" ( (binary_expression "(*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)" (parenthesized_expression "(*(int *)(param_1 + 3) != 0)" ( (binary_expression "*(int *)(param_1 + 3) != 0" (pointer_expression "*(int *)(param_1 + 3)" * (cast_expression "(int *)(param_1 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) != number_literal) )) || (parenthesized_expression "(*(int *)((long)param_1 + 0x14) == 0)" ( (binary_expression "*(int *)((long)param_1 + 0x14) == 0" (pointer_expression "*(int *)((long)param_1 + 0x14)" * (cast_expression "(int *)((long)param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x14)" ( (binary_expression "(long)param_1 + 0x14" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == number_literal) ))) )) || (parenthesized_expression "((uVar12 != 0 || (-1 < (int)uVar10)))" ( (parenthesized_expression "(uVar12 != 0 || (-1 < (int)uVar10))" ( (binary_expression "uVar12 != 0 || (-1 < (int)uVar10)" (binary_expression "uVar12 != 0" identifier != number_literal) || (parenthesized_expression "(-1 < (int)uVar10)" ( (binary_expression "-1 < (int)uVar10" number_literal < (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) ))) )) (goto_statement "goto joined_r0x0013fbae;" goto statement_identifier ;)) (if_statement "if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }" if (parenthesized_expression "(*(char *)((long)param_1 + 0x1c) == '\0')" ( (binary_expression "*(char *)((long)param_1 + 0x1c) == '\0'" (pointer_expression "*(char *)((long)param_1 + 0x1c)" * (cast_expression "(char *)((long)param_1 + 0x1c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x1c)" ( (binary_expression "(long)param_1 + 0x1c" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }" { (expression_statement "param_1[1] = pbVar38;" (assignment_expression "param_1[1] = pbVar38" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar11 = (*DAT_0021f288)(pbVar38);" (assignment_expression "uVar11 = (*DAT_0021f288)(pbVar38)" identifier = (call_expression "(*DAT_0021f288)(pbVar38)" (parenthesized_expression "(*DAT_0021f288)" ( (pointer_expression "*DAT_0021f288" * identifier) )) (argument_list "(pbVar38)" ( identifier )))) ;) (expression_statement "*(undefined4 *)(param_1 + 2) = uVar11;" (assignment_expression "*(undefined4 *)(param_1 + 2) = uVar11" (pointer_expression "*(undefined4 *)(param_1 + 2)" * (cast_expression "(undefined4 *)(param_1 + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) = identifier) ;) (expression_statement "sVar15 = strlen((char *)pbVar38);" (assignment_expression "sVar15 = strlen((char *)pbVar38)" identifier = (call_expression "strlen((char *)pbVar38)" identifier (argument_list "((char *)pbVar38)" ( (cast_expression "(char *)pbVar38" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "*(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;" (assignment_expression "*(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4" (pointer_expression "*(byte *)((long)param_1 + 0x1d)" * (cast_expression "(byte *)((long)param_1 + 0x1d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x1d)" ( (binary_expression "(long)param_1 + 0x1d" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((long)param_1 + 0x1d) | 4" (pointer_expression "*(byte *)((long)param_1 + 0x1d)" * (cast_expression "(byte *)((long)param_1 + 0x1d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x1d)" ( (binary_expression "(long)param_1 + 0x1d" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) | number_literal)) ;) (expression_statement "*(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;" (assignment_expression "*(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff" (pointer_expression "*(uint *)(param_1 + 3)" * (cast_expression "(uint *)(param_1 + 3)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = (binary_expression "(uint)sVar15 & 0x7fffffff" (cast_expression "(uint)sVar15" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "FUN_0013e580(param_1,pbVar38,0);" (call_expression "FUN_0013e580(param_1,pbVar38,0)" identifier (argument_list "(param_1,pbVar38,0)" ( identifier , identifier , number_literal ))) ;) (break_statement "break;" break ;) })) (labeled_statement "LAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);" statement_identifier : (expression_statement "sVar15 = strlen((char *)pbVar38);" (assignment_expression "sVar15 = strlen((char *)pbVar38)" identifier = (call_expression "strlen((char *)pbVar38)" identifier (argument_list "((char *)pbVar38)" ( (cast_expression "(char *)pbVar38" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;)) (expression_statement "uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);" (assignment_expression "uVar37 = (ulong)((uint)sVar15 & 0x7fffffff)" identifier = (call_expression "(ulong)((uint)sVar15 & 0x7fffffff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)sVar15 & 0x7fffffff)" ( (binary_expression "(uint)sVar15 & 0x7fffffff" (cast_expression "(uint)sVar15" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (goto_statement "goto LAB_0013fa12;" goto statement_identifier ;) })) (expression_statement "pbVar38 = (byte *)FUN_001408d0(local_d8);" (assignment_expression "pbVar38 = (byte *)FUN_001408d0(local_d8)" identifier = (cast_expression "(byte *)FUN_001408d0(local_d8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001408d0(local_d8)" identifier (argument_list "(local_d8)" ( identifier ))))) ;) (if_statement "if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }" if (parenthesized_expression "(pbVar38 == (byte *)0x0)" ( (binary_expression "pbVar38 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }" { (labeled_statement "LAB_0013fb9a:\n          local_e0 = (byte *)0x0;" statement_identifier : (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pbVar38 = &DAT_001e836f;" (assignment_expression "pbVar38 = &DAT_001e836f" identifier = (pointer_expression "&DAT_001e836f" & identifier)) ;) }) (else_clause "else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }" else (compound_statement "{\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }" { (labeled_statement "LAB_0013f840:\n          local_e0 = (byte *)0x0;" statement_identifier : (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }))) (labeled_statement "joined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;" statement_identifier : (if_statement "if (uVar10 == 0xffffffff) goto LAB_0013fbb4;" if (parenthesized_expression "(uVar10 == 0xffffffff)" ( (binary_expression "uVar10 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_0013fbb4;" goto statement_identifier ;))) (expression_statement "pbVar13 = pbVar38;" (assignment_expression "pbVar13 = pbVar38" identifier = identifier) ;) (if_statement "if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }" if (parenthesized_expression "(bVar25 != 0)" ( (binary_expression "bVar25 != 0" identifier != number_literal) )) (compound_statement "{\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }" { (while_statement "while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }" while (parenthesized_expression "((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))" ( (parenthesized_expression "(pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0))" ( (comma_expression "pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)" (assignment_expression "pbVar17 = pbVar13" identifier = identifier) , (comma_expression "uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)" (assignment_expression "uVar10 = uVar10 - 1" identifier = (binary_expression "uVar10 - 1" identifier - number_literal)) , (binary_expression "uVar10 != 0xffffffff && (*pbVar17 != 0)" (binary_expression "uVar10 != 0xffffffff" identifier != number_literal) && (parenthesized_expression "(*pbVar17 != 0)" ( (binary_expression "*pbVar17 != 0" (pointer_expression "*pbVar17" * identifier) != number_literal) ))))) )) )) (compound_statement "{\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }" { (expression_statement "pbVar13 = pbVar17 + 1;" (assignment_expression "pbVar13 = pbVar17 + 1" identifier = (binary_expression "pbVar17 + 1" identifier + number_literal)) ;) (if_statement "if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }" if (parenthesized_expression "(0xbf < *pbVar17)" ( (binary_expression "0xbf < *pbVar17" number_literal < (pointer_expression "*pbVar17" * identifier)) )) (compound_statement "{\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }" { (expression_statement "bVar7 = pbVar17[1];" (assignment_expression "bVar7 = pbVar17[1]" identifier = (subscript_expression "pbVar17[1]" identifier [ number_literal ])) ;) (while_statement "while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }" while (parenthesized_expression "((bVar7 & 0xc0) == 0x80)" ( (binary_expression "(bVar7 & 0xc0) == 0x80" (parenthesized_expression "(bVar7 & 0xc0)" ( (binary_expression "bVar7 & 0xc0" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }" { (expression_statement "pbVar13 = pbVar13 + 1;" (assignment_expression "pbVar13 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (expression_statement "bVar7 = *pbVar13;" (assignment_expression "bVar7 = *pbVar13" identifier = (pointer_expression "*pbVar13" * identifier)) ;) })) })) })) (expression_statement "uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);" (assignment_expression "uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38)" identifier = (call_expression "(ulong)(uint)((int)pbVar17 - (int)pbVar38)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "((int)pbVar17 - (int)pbVar38)" ( (binary_expression "(int)pbVar17 - (int)pbVar38" (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar38" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "bVar25 = 1;" (assignment_expression "bVar25 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0013fa12;" goto statement_identifier ;) })) (if_statement "if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }" if (parenthesized_expression "((uVar10 == 0) || (*pbVar38 == 0))" ( (binary_expression "(uVar10 == 0) || (*pbVar38 == 0)" (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) || (parenthesized_expression "(*pbVar38 == 0)" ( (binary_expression "*pbVar38 == 0" (pointer_expression "*pbVar38" * identifier) == number_literal) ))) )) (compound_statement "{\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }" { (expression_statement "uVar37 = 0;" (assignment_expression "uVar37 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0013f018;" goto statement_identifier ;) })) (expression_statement "uVar28 = 1;" (assignment_expression "uVar28 = 1" identifier = number_literal) ;) (do_statement "do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);" do (compound_statement "{\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        }" { (expression_statement "uVar37 = uVar28 & 0xffffffff;" (assignment_expression "uVar37 = uVar28 & 0xffffffff" identifier = (binary_expression "uVar28 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if ((ulong)(uVar10 - 1) + 1 == uVar28) break;" if (parenthesized_expression "((ulong)(uVar10 - 1) + 1 == uVar28)" ( (binary_expression "(ulong)(uVar10 - 1) + 1 == uVar28" (binary_expression "(ulong)(uVar10 - 1) + 1" (call_expression "(ulong)(uVar10 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar10 - 1)" ( (binary_expression "uVar10 - 1" identifier - number_literal) ))) + number_literal) == identifier) )) (break_statement "break;" break ;)) (expression_statement "pbVar13 = pbVar38 + uVar28;" (assignment_expression "pbVar13 = pbVar38 + uVar28" identifier = (binary_expression "pbVar38 + uVar28" identifier + identifier)) ;) (expression_statement "uVar28 = uVar28 + 1;" (assignment_expression "uVar28 = uVar28 + 1" identifier = (binary_expression "uVar28 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pbVar13 != 0)" ( (binary_expression "*pbVar13 != 0" (pointer_expression "*pbVar13" * identifier) != number_literal) )) ;) (goto_statement "goto LAB_0013eff2;" goto statement_identifier ;)) (case_statement "case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;" case (char_literal "'\a'" ' escape_sequence ') : (expression_statement "local_88[0] = 0x25;" (assignment_expression "local_88[0] = 0x25" (subscript_expression "local_88[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar24 = (byte *)(ulong)(uVar12 - 1);" (assignment_expression "pbVar24 = (byte *)(ulong)(uVar12 - 1)" identifier = (cast_expression "(byte *)(ulong)(uVar12 - 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(ulong)(uVar12 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar12 - 1)" ( (binary_expression "uVar12 - 1" identifier - number_literal) ))))) ;) (expression_statement "pbVar38 = local_88;" (assignment_expression "pbVar38 = local_88" identifier = identifier) ;) (expression_statement "uVar37 = 1;" (assignment_expression "uVar37 = 1" identifier = number_literal) ;) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0013f018;" goto statement_identifier ;)) (case_statement "case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;" case (char_literal "'\b'" ' escape_sequence ') : (if_statement "if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }" { (expression_statement "uVar19 = *param_3;" (assignment_expression "uVar19 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }" if (parenthesized_expression "(uVar19 < 0x30)" ( (binary_expression "uVar19 < 0x30" identifier < number_literal) )) (compound_statement "{\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }" { (expression_statement "*param_3 = uVar19 + 8;" (assignment_expression "*param_3 = uVar19 + 8" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar19 + 8" identifier + number_literal)) ;) (expression_statement "uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));" (assignment_expression "uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4))" identifier = (pointer_expression "*(uint *)((ulong)uVar19 + *(long *)(param_3 + 4))" * (cast_expression "(uint *)((ulong)uVar19 + *(long *)(param_3 + 4))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar19 + *(long *)(param_3 + 4))" ( (binary_expression "(ulong)uVar19 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) + (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) ))))) ;) }) (else_clause "else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }" else (compound_statement "{\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }" { (expression_statement "puVar32 = *(uint **)(param_3 + 2);" (assignment_expression "puVar32 = *(uint **)(param_3 + 2)" identifier = (pointer_expression "*(uint **)(param_3 + 2)" * (cast_expression "(uint **)(param_3 + 2)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(uint **)(param_3 + 2) = puVar32 + 2;" (assignment_expression "*(uint **)(param_3 + 2) = puVar32 + 2" (pointer_expression "*(uint **)(param_3 + 2)" * (cast_expression "(uint **)(param_3 + 2)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "puVar32 + 2" identifier + number_literal)) ;) (expression_statement "uVar19 = *puVar32;" (assignment_expression "uVar19 = *puVar32" identifier = (pointer_expression "*puVar32" * identifier)) ;) }))) (if_statement "if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }" if (parenthesized_expression "(0x7f < uVar19)" ( (binary_expression "0x7f < uVar19" number_literal < identifier) )) (compound_statement "{\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }" { (expression_statement "cVar18 = ((byte)uVar19 & 0x3f) + 0x80;" (assignment_expression "cVar18 = ((byte)uVar19 & 0x3f) + 0x80" identifier = (binary_expression "((byte)uVar19 & 0x3f) + 0x80" (parenthesized_expression "((byte)uVar19 & 0x3f)" ( (binary_expression "(byte)uVar19 & 0x3f" (cast_expression "(byte)uVar19" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) + number_literal)) ;) (expression_statement "bVar7 = (byte)(uVar19 >> 6);" (assignment_expression "bVar7 = (byte)(uVar19 >> 6)" identifier = (call_expression "(byte)(uVar19 >> 6)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar19 >> 6)" ( (binary_expression "uVar19 >> 6" identifier >> number_literal) )))) ;) (if_statement "if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }" if (parenthesized_expression "(uVar19 < 0x800)" ( (binary_expression "uVar19 < 0x800" identifier < number_literal) )) (compound_statement "{\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }" { (expression_statement "local_88[1] = cVar18;" (assignment_expression "local_88[1] = cVar18" (subscript_expression "local_88[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar37 = 2;" (assignment_expression "uVar37 = 2" identifier = number_literal) ;) (expression_statement "local_88[0] = bVar7 - 0x40;" (assignment_expression "local_88[0] = bVar7 - 0x40" (subscript_expression "local_88[0]" identifier [ number_literal ]) = (binary_expression "bVar7 - 0x40" identifier - number_literal)) ;) }) (else_clause "else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }" else (compound_statement "{\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }" { (expression_statement "local_88[2] = (bVar7 & 0x3f) + 0x80;" (assignment_expression "local_88[2] = (bVar7 & 0x3f) + 0x80" (subscript_expression "local_88[2]" identifier [ number_literal ]) = (binary_expression "(bVar7 & 0x3f) + 0x80" (parenthesized_expression "(bVar7 & 0x3f)" ( (binary_expression "bVar7 & 0x3f" identifier & number_literal) )) + number_literal)) ;) (expression_statement "bVar7 = (byte)(uVar19 >> 0xc);" (assignment_expression "bVar7 = (byte)(uVar19 >> 0xc)" identifier = (call_expression "(byte)(uVar19 >> 0xc)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar19 >> 0xc)" ( (binary_expression "uVar19 >> 0xc" identifier >> number_literal) )))) ;) (if_statement "if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }" if (parenthesized_expression "(uVar19 < 0x10000)" ( (binary_expression "uVar19 < 0x10000" identifier < number_literal) )) (compound_statement "{\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }" { (expression_statement "local_88[1] = local_88[2];" (assignment_expression "local_88[1] = local_88[2]" (subscript_expression "local_88[1]" identifier [ number_literal ]) = (subscript_expression "local_88[2]" identifier [ number_literal ])) ;) (expression_statement "uVar37 = 3;" (assignment_expression "uVar37 = 3" identifier = number_literal) ;) (expression_statement "local_88[0] = bVar7 - 0x20;" (assignment_expression "local_88[0] = bVar7 - 0x20" (subscript_expression "local_88[0]" identifier [ number_literal ]) = (binary_expression "bVar7 - 0x20" identifier - number_literal)) ;) (expression_statement "local_88[2] = cVar18;" (assignment_expression "local_88[2] = cVar18" (subscript_expression "local_88[2]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }" else (compound_statement "{\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }" { (expression_statement "uVar37 = 4;" (assignment_expression "uVar37 = 4" identifier = number_literal) ;) (expression_statement "local_88[3] = cVar18;" (assignment_expression "local_88[3] = cVar18" (subscript_expression "local_88[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;" (assignment_expression "local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10" (subscript_expression "local_88[0]" identifier [ number_literal ]) = (binary_expression "((byte)(uVar19 >> 0x12) & 7) - 0x10" (parenthesized_expression "((byte)(uVar19 >> 0x12) & 7)" ( (binary_expression "(byte)(uVar19 >> 0x12) & 7" (call_expression "(byte)(uVar19 >> 0x12)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar19 >> 0x12)" ( (binary_expression "uVar19 >> 0x12" identifier >> number_literal) ))) & number_literal) )) - number_literal)) ;) (expression_statement "local_88[1] = (bVar7 & 0x3f) + 0x80;" (assignment_expression "local_88[1] = (bVar7 & 0x3f) + 0x80" (subscript_expression "local_88[1]" identifier [ number_literal ]) = (binary_expression "(bVar7 & 0x3f) + 0x80" (parenthesized_expression "(bVar7 & 0x3f)" ( (binary_expression "bVar7 & 0x3f" identifier & number_literal) )) + number_literal)) ;) }))) }))) (goto_statement "goto LAB_0013fa75;" goto statement_identifier ;) })) (expression_statement "local_88[0] = (byte)uVar19;" (assignment_expression "local_88[0] = (byte)uVar19" (subscript_expression "local_88[0]" identifier [ number_literal ]) = (cast_expression "(byte)uVar19" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar37 = 1;" (assignment_expression "uVar37 = 1" identifier = number_literal) ;) (expression_statement "uVar19 = 1;" (assignment_expression "uVar19 = 1" identifier = number_literal) ;) }) (else_clause "else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }" else (compound_statement "{\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }" { (expression_statement "pbVar38 = (byte *)FUN_001408d0(local_d8);" (assignment_expression "pbVar38 = (byte *)FUN_001408d0(local_d8)" identifier = (cast_expression "(byte *)FUN_001408d0(local_d8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001408d0(local_d8)" identifier (argument_list "(local_d8)" ( identifier ))))) ;) (if_statement "if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }" if (parenthesized_expression "(pbVar38 == (byte *)0x0)" ( (binary_expression "pbVar38 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            local_88[0] = 0;\n          }" { (expression_statement "local_88[0] = 0;" (assignment_expression "local_88[0] = 0" (subscript_expression "local_88[0]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }" else (compound_statement "{\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }" { (expression_statement "local_88[0] = *pbVar38;" (assignment_expression "local_88[0] = *pbVar38" (subscript_expression "local_88[0]" identifier [ number_literal ]) = (pointer_expression "*pbVar38" * identifier)) ;) (if_statement "if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }" if (parenthesized_expression "((*pbVar38 & 0xc0) == 0xc0)" ( (binary_expression "(*pbVar38 & 0xc0) == 0xc0" (parenthesized_expression "(*pbVar38 & 0xc0)" ( (binary_expression "*pbVar38 & 0xc0" (pointer_expression "*pbVar38" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }" { (expression_statement "uVar28 = 1;" (assignment_expression "uVar28 = 1" identifier = number_literal) ;) (do_statement "do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);" do (compound_statement "{\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              }" { (expression_statement "uVar37 = uVar28 & 0xffffffff;" (assignment_expression "uVar37 = uVar28 & 0xffffffff" identifier = (binary_expression "uVar28 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;" if (parenthesized_expression "((pbVar38[uVar28] & 0xc0) != 0x80)" ( (binary_expression "(pbVar38[uVar28] & 0xc0) != 0x80" (parenthesized_expression "(pbVar38[uVar28] & 0xc0)" ( (binary_expression "pbVar38[uVar28] & 0xc0" (subscript_expression "pbVar38[uVar28]" identifier [ identifier ]) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0013fa75;" goto statement_identifier ;)) (expression_statement "local_88[uVar28] = pbVar38[uVar28];" (assignment_expression "local_88[uVar28] = pbVar38[uVar28]" (subscript_expression "local_88[uVar28]" identifier [ identifier ]) = (subscript_expression "pbVar38[uVar28]" identifier [ identifier ])) ;) (expression_statement "uVar28 = uVar28 + 1;" (assignment_expression "uVar28 = uVar28 + 1" identifier = (binary_expression "uVar28 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar28 != 4)" ( (binary_expression "uVar28 != 4" identifier != number_literal) )) ;) (expression_statement "uVar37 = 4;" (assignment_expression "uVar37 = 4" identifier = number_literal) ;) (goto_statement "goto LAB_0013fa75;" goto statement_identifier ;) })) }))) (expression_statement "uVar37 = 1;" (assignment_expression "uVar37 = 1" identifier = number_literal) ;) (labeled_statement "LAB_0013fa75:\n          uVar19 = (uint)uVar37;" statement_identifier : (expression_statement "uVar19 = (uint)uVar37;" (assignment_expression "uVar19 = (uint)uVar37" identifier = (cast_expression "(uint)uVar37" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) }))) (if_statement "if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }" if (parenthesized_expression "(1 < (int)uVar10)" ( (binary_expression "1 < (int)uVar10" number_literal < (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }" { (expression_statement "iVar9 = uVar10 - 1;" (assignment_expression "iVar9 = uVar10 - 1" identifier = (binary_expression "uVar10 - 1" identifier - number_literal)) ;) (expression_statement "uVar12 = uVar12 - iVar9;" (assignment_expression "uVar12 = uVar12 - iVar9" identifier = (binary_expression "uVar12 - iVar9" identifier - identifier)) ;) (if_statement "if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }" if (parenthesized_expression "(((int)uVar12 < 2) || (bVar5))" ( (binary_expression "((int)uVar12 < 2) || (bVar5)" (parenthesized_expression "((int)uVar12 < 2)" ( (binary_expression "(int)uVar12 < 2" (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(bVar5)" ( identifier ))) )) (compound_statement "{\n            local_e0 = (byte *)(ulong)uVar12;\n          }" { (expression_statement "local_e0 = (byte *)(ulong)uVar12;" (assignment_expression "local_e0 = (byte *)(ulong)uVar12" identifier = (cast_expression "(byte *)(ulong)uVar12" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) }) (else_clause "else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }" else (compound_statement "{\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }" { (expression_statement "FUN_0013e4b0(param_1,uVar12 - 1,0x20);" (call_expression "FUN_0013e4b0(param_1,uVar12 - 1,0x20)" identifier (argument_list "(param_1,uVar12 - 1,0x20)" ( identifier , (binary_expression "uVar12 - 1" identifier - number_literal) , number_literal ))) ;) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (do_statement "do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);" do (compound_statement "{\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          }" { (expression_statement "FUN_0013e580(param_1,local_88,uVar19);" (call_expression "FUN_0013e580(param_1,local_88,uVar19)" identifier (argument_list "(param_1,local_88,uVar19)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) ;) (expression_statement "uVar37 = (ulong)uVar19;" (assignment_expression "uVar37 = (ulong)uVar19" identifier = (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "pbVar24 = local_e0;" (assignment_expression "pbVar24 = local_e0" identifier = identifier) ;) (expression_statement "uVar12 = (uint)local_e0;" (assignment_expression "uVar12 = (uint)local_e0" identifier = (cast_expression "(uint)local_e0" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) })) (if_statement "if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }" if (parenthesized_expression "(0 < (int)uVar12)" ( (binary_expression "0 < (int)uVar12" number_literal < (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }" { (expression_statement "pbVar38 = local_88;" (assignment_expression "pbVar38 = local_88" identifier = identifier) ;) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar9 = (int)uVar37 + -1;" (assignment_expression "iVar9 = (int)uVar37 + -1" identifier = (binary_expression "(int)uVar37 + -1" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (goto_statement "goto LAB_0013efc6;" goto statement_identifier ;) })) (expression_statement "pbVar38 = local_88;" (assignment_expression "pbVar38 = local_88" identifier = identifier) ;) (expression_statement "FUN_0013e580(param_1,pbVar38,uVar37);" (call_expression "FUN_0013e580(param_1,pbVar38,uVar37)" identifier (argument_list "(param_1,pbVar38,uVar37)" ( identifier , identifier , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case '\t':" case (char_literal "'\t'" ' escape_sequence ') :) (case_statement "case '\n':" case (char_literal "'\n'" ' escape_sequence ') :) (case_statement "case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;" case (char_literal "'\x0e'" ' escape_sequence ') : (expression_statement "bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;" (assignment_expression "bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22" identifier = (binary_expression "(cVar33 != '\x0e') * '\x05' + 0x22" (binary_expression "(cVar33 != '\x0e') * '\x05'" (parenthesized_expression "(cVar33 != '\x0e')" ( (binary_expression "cVar33 != '\x0e'" identifier != (char_literal "'\x0e'" ' escape_sequence ')) )) * (char_literal "'\x05'" ' escape_sequence ')) + number_literal)) ;) (if_statement "if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }" { (expression_statement "uVar19 = *param_3;" (assignment_expression "uVar19 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }" if (parenthesized_expression "(uVar19 < 0x30)" ( (binary_expression "uVar19 < 0x30" identifier < number_literal) )) (compound_statement "{\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }" { (expression_statement "puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));" (assignment_expression "puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4))" identifier = (cast_expression "(undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4))" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar19 + *(long *)(param_3 + 4))" ( (binary_expression "(ulong)uVar19 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) + (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "*param_3 = uVar19 + 8;" (assignment_expression "*param_3 = uVar19 + 8" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar19 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }" else (compound_statement "{\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }" { (expression_statement "puVar26 = *(undefined8 **)(param_3 + 2);" (assignment_expression "puVar26 = *(undefined8 **)(param_3 + 2)" identifier = (pointer_expression "*(undefined8 **)(param_3 + 2)" * (cast_expression "(undefined8 **)(param_3 + 2)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 **)(param_3 + 2) = puVar26 + 1;" (assignment_expression "*(undefined8 **)(param_3 + 2) = puVar26 + 1" (pointer_expression "*(undefined8 **)(param_3 + 2)" * (cast_expression "(undefined8 **)(param_3 + 2)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "puVar26 + 1" identifier + number_literal)) ;) }))) (expression_statement "local_e0 = (byte *)*puVar26;" (assignment_expression "local_e0 = (byte *)*puVar26" identifier = (cast_expression "(byte *)*puVar26" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar26" * identifier))) ;) (if_statement "if (local_e0 == (byte *)0x0) goto LAB_0013eec9;" if (parenthesized_expression "(local_e0 == (byte *)0x0)" ( (binary_expression "local_e0 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0013eec9;" goto statement_identifier ;)) (labeled_statement "LAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;" statement_identifier : (if_statement "if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;" if (parenthesized_expression "((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))" ( (binary_expression "(uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0)" (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) && (parenthesized_expression "(bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0)" ( (comma_expression "bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0" (assignment_expression "bVar35 = *local_e0" identifier = (pointer_expression "*local_e0" * identifier)) , (comma_expression "pbVar13 = local_e0, bVar35 != 0" (assignment_expression "pbVar13 = local_e0" identifier = identifier) , (binary_expression "bVar35 != 0" identifier != number_literal))) ))) )) (goto_statement "goto LAB_0013f8fa;" goto statement_identifier ;))) (if_statement "if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }" if (parenthesized_expression "(cVar33 != '\n')" ( (binary_expression "cVar33 != '\n'" identifier != (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }" { (expression_statement "pbVar17 = local_88;" (assignment_expression "pbVar17 = local_88" identifier = identifier) ;) (expression_statement "uVar37 = 0;" (assignment_expression "uVar37 = 0" identifier = number_literal) ;) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar38 = pbVar17;" (assignment_expression "pbVar38 = pbVar17" identifier = identifier) ;) (goto_statement "goto LAB_0013fa0c;" goto statement_identifier ;) })) (expression_statement "pbVar38 = local_88;" (assignment_expression "pbVar38 = local_88" identifier = identifier) ;) (expression_statement "local_88[0] = bVar7;" (assignment_expression "local_88[0] = bVar7" (subscript_expression "local_88[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "lVar30 = 2;" (assignment_expression "lVar30 = 2" identifier = number_literal) ;) (expression_statement "uVar37 = 2;" (assignment_expression "uVar37 = 2" identifier = number_literal) ;) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar17 = local_88 + 1;" (assignment_expression "pbVar17 = local_88 + 1" identifier = (binary_expression "local_88 + 1" identifier + number_literal)) ;) (labeled_statement "LAB_0013fa06:\n          *pbVar17 = bVar7;" statement_identifier : (expression_statement "*pbVar17 = bVar7;" (assignment_expression "*pbVar17 = bVar7" (pointer_expression "*pbVar17" * identifier) = identifier) ;)) (expression_statement "pbVar17 = pbVar38 + lVar30;" (assignment_expression "pbVar17 = pbVar38 + lVar30" identifier = (binary_expression "pbVar38 + lVar30" identifier + identifier)) ;) }) (else_clause "else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }" else (compound_statement "{\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }" { (expression_statement "local_e0 = (byte *)FUN_001408d0(local_d8);" (assignment_expression "local_e0 = (byte *)FUN_001408d0(local_d8)" identifier = (cast_expression "(byte *)FUN_001408d0(local_d8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001408d0(local_d8)" identifier (argument_list "(local_d8)" ( identifier ))))) ;) (if_statement "if (local_e0 != (byte *)0x0) goto LAB_0013f8df;" if (parenthesized_expression "(local_e0 != (byte *)0x0)" ( (binary_expression "local_e0 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0013f8df;" goto statement_identifier ;)) (labeled_statement "LAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;" statement_identifier : (expression_statement "pbVar13 = (byte *)0x1e846d;" (assignment_expression "pbVar13 = (byte *)0x1e846d" identifier = (cast_expression "(byte *)0x1e846d" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (if_statement "if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }" if (parenthesized_expression "(cVar33 != '\n')" ( (binary_expression "cVar33 != '\n'" identifier != (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n            pbVar13 = &DAT_001e9900;\n          }" { (expression_statement "pbVar13 = &DAT_001e9900;" (assignment_expression "pbVar13 = &DAT_001e9900" identifier = (pointer_expression "&DAT_001e9900" & identifier)) ;) })) (if_statement "if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }" { (expression_statement "pbVar17 = local_88;" (assignment_expression "pbVar17 = local_88" identifier = identifier) ;) (expression_statement "uVar37 = 0;" (assignment_expression "uVar37 = 0" identifier = number_literal) ;) (expression_statement "pbVar38 = pbVar17;" (assignment_expression "pbVar38 = pbVar17" identifier = identifier) ;) }) (else_clause "else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }" else (compound_statement "{\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }" { (expression_statement "bVar35 = *pbVar13;" (assignment_expression "bVar35 = *pbVar13" identifier = (pointer_expression "*pbVar13" * identifier)) ;) (labeled_statement "LAB_0013f8fa:\n            iVar29 = 0;" statement_identifier : (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;)) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);" do (compound_statement "{\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            }" { (expression_statement "iVar31 = iVar9;" (assignment_expression "iVar31 = iVar9" identifier = identifier) ;) (if_statement "if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }" if (parenthesized_expression "(bVar7 == bVar35)" ( (binary_expression "bVar7 == bVar35" identifier == identifier) )) (compound_statement "{\n                iVar29 = iVar29 + 1;\n              }" { (expression_statement "iVar29 = iVar29 + 1;" (assignment_expression "iVar29 = iVar29 + 1" identifier = (binary_expression "iVar29 + 1" identifier + number_literal)) ;) }) (else_clause "else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }" else (if_statement "if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }" if (parenthesized_expression "(((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80))" ( (binary_expression "((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)" (parenthesized_expression "((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0))" ( (binary_expression "(bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)" (parenthesized_expression "(bVar25 != 0)" ( (binary_expression "bVar25 != 0" identifier != number_literal) )) && (parenthesized_expression "((bVar35 & 0xc0) == 0xc0)" ( (binary_expression "(bVar35 & 0xc0) == 0xc0" (parenthesized_expression "(bVar35 & 0xc0)" ( (binary_expression "bVar35 & 0xc0" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)" ( (binary_expression "((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80" (parenthesized_expression "((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U)" ( (binary_expression "(int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U" (cast_expression "(int)(char)pbVar13[(long)iVar9 + 1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[(long)iVar9 + 1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[(long)iVar9 + 1]" identifier [ (binary_expression "(long)iVar9 + 1" (cast_expression "(long)iVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ]))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }" { (expression_statement "lVar30 = (long)(iVar9 + 1);" (assignment_expression "lVar30 = (long)(iVar9 + 1)" identifier = (cast_expression "(long)(iVar9 + 1)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(iVar9 + 1)" ( (binary_expression "iVar9 + 1" identifier + number_literal) )))) ;) (do_statement "do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);" do (compound_statement "{\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                }" { (expression_statement "lVar23 = lVar30 + 1;" (assignment_expression "lVar23 = lVar30 + 1" identifier = (binary_expression "lVar30 + 1" identifier + number_literal)) ;) (expression_statement "iVar31 = (int)lVar30;" (assignment_expression "iVar31 = (int)lVar30" identifier = (cast_expression "(int)lVar30" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "lVar30 = lVar30 + 1;" (assignment_expression "lVar30 = lVar30 + 1" identifier = (binary_expression "lVar30 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80)" ( (binary_expression "((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80" (parenthesized_expression "((int)(char)pbVar13[lVar23] & 0xc0U)" ( (binary_expression "(int)(char)pbVar13[lVar23] & 0xc0U" (cast_expression "(int)(char)pbVar13[lVar23]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar13[lVar23]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar13[lVar23]" identifier [ identifier ]))) & number_literal) )) == number_literal) )) ;) })))) (expression_statement "iVar9 = iVar31 + 1;" (assignment_expression "iVar9 = iVar31 + 1" identifier = (binary_expression "iVar31 + 1" identifier + number_literal)) ;) (if_statement "if (uVar10 == 1) break;" if (parenthesized_expression "(uVar10 == 1)" ( (binary_expression "uVar10 == 1" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar10 = uVar10 - 1;" (assignment_expression "uVar10 = uVar10 - 1" identifier = (binary_expression "uVar10 - 1" identifier - number_literal)) ;) (expression_statement "bVar35 = pbVar13[iVar9];" (assignment_expression "bVar35 = pbVar13[iVar9]" identifier = (subscript_expression "pbVar13[iVar9]" identifier [ identifier ])) ;) }) while (parenthesized_expression "(bVar35 != 0)" ( (binary_expression "bVar35 != 0" identifier != number_literal) )) ;) (expression_statement "bVar40 = local_e0 != (byte *)0x0;" (assignment_expression "bVar40 = local_e0 != (byte *)0x0" identifier = (binary_expression "local_e0 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "bVar39 = bVar40 && cVar33 == '\n';" (assignment_expression "bVar39 = bVar40 && cVar33 == '\n'" identifier = (binary_expression "bVar40 && cVar33 == '\n'" identifier && (binary_expression "cVar33 == '\n'" identifier == (char_literal "'\n'" ' escape_sequence ')))) ;) (if_statement "if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }" if (parenthesized_expression "(iVar31 + 4 + iVar29 < 0x47)" ( (binary_expression "iVar31 + 4 + iVar29 < 0x47" (binary_expression "iVar31 + 4 + iVar29" (binary_expression "iVar31 + 4" identifier + number_literal) + identifier) < number_literal) )) (compound_statement "{\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }" { (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar38 = local_88;" (assignment_expression "pbVar38 = local_88" identifier = identifier) ;) }) (else_clause "else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }" else (compound_statement "{\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }" { (expression_statement "pbVar38 = (byte *)FUN_0011bc10(param_1);" (assignment_expression "pbVar38 = (byte *)FUN_0011bc10(param_1)" identifier = (cast_expression "(byte *)FUN_0011bc10(param_1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0011bc10(param_1)" identifier (argument_list "(param_1)" ( identifier ))))) ;) (expression_statement "local_e0 = pbVar38;" (assignment_expression "local_e0 = pbVar38" identifier = identifier) ;) (if_statement "if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;" if (parenthesized_expression "(pbVar38 == (byte *)0x0)" ( (binary_expression "pbVar38 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto switchD_0013ea21_caseD_11;" goto statement_identifier ;)) }))) (if_statement "if (bVar39) {\n              *pbVar38 = bVar7;\n            }" if (parenthesized_expression "(bVar39)" ( identifier )) (compound_statement "{\n              *pbVar38 = bVar7;\n            }" { (expression_statement "*pbVar38 = bVar7;" (assignment_expression "*pbVar38 = bVar7" (pointer_expression "*pbVar38" * identifier) = identifier) ;) })) (expression_statement "uVar37 = (ulong)bVar39;" (assignment_expression "uVar37 = (ulong)bVar39" identifier = (cast_expression "(ulong)bVar39" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "lVar30 = 0;" (assignment_expression "lVar30 = 0" identifier = number_literal) ;) (do_statement "do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);" do (compound_statement "{\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            }" { (while_statement "while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }" { (expression_statement "bVar35 = pbVar13[lVar30];" (assignment_expression "bVar35 = pbVar13[lVar30]" identifier = (subscript_expression "pbVar13[lVar30]" identifier [ identifier ])) ;) (expression_statement "iVar29 = (int)uVar37;" (assignment_expression "iVar29 = (int)uVar37" identifier = (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar37 = (ulong)(iVar29 + 1U);" (assignment_expression "uVar37 = (ulong)(iVar29 + 1U)" identifier = (call_expression "(ulong)(iVar29 + 1U)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar29 + 1U)" ( (binary_expression "iVar29 + 1U" identifier + number_literal) )))) ;) (expression_statement "pbVar38[iVar29] = bVar35;" (assignment_expression "pbVar38[iVar29] = bVar35" (subscript_expression "pbVar38[iVar29]" identifier [ identifier ]) = identifier) ;) (expression_statement "pbVar17 = pbVar38 + (int)(iVar29 + 1U);" (assignment_expression "pbVar17 = pbVar38 + (int)(iVar29 + 1U)" identifier = (binary_expression "pbVar38 + (int)(iVar29 + 1U)" identifier + (cast_expression "(int)(iVar29 + 1U)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar29 + 1U)" ( (binary_expression "iVar29 + 1U" identifier + number_literal) ))))) ;) (if_statement "if (bVar7 != bVar35) break;" if (parenthesized_expression "(bVar7 != bVar35)" ( (binary_expression "bVar7 != bVar35" identifier != identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar37 = (ulong)(iVar29 + 2U);" (assignment_expression "uVar37 = (ulong)(iVar29 + 2U)" identifier = (call_expression "(ulong)(iVar29 + 2U)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar29 + 2U)" ( (binary_expression "iVar29 + 2U" identifier + number_literal) )))) ;) (expression_statement "*pbVar17 = bVar7;" (assignment_expression "*pbVar17 = bVar7" (pointer_expression "*pbVar17" * identifier) = identifier) ;) (expression_statement "lVar30 = lVar30 + 1;" (assignment_expression "lVar30 = lVar30 + 1" identifier = (binary_expression "lVar30 + 1" identifier + number_literal)) ;) (expression_statement "pbVar17 = pbVar38 + (int)(iVar29 + 2U);" (assignment_expression "pbVar17 = pbVar38 + (int)(iVar29 + 2U)" identifier = (binary_expression "pbVar38 + (int)(iVar29 + 2U)" identifier + (cast_expression "(int)(iVar29 + 2U)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar29 + 2U)" ( (binary_expression "iVar29 + 2U" identifier + number_literal) ))))) ;) (if_statement "if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;" if (parenthesized_expression "(iVar9 <= (int)lVar30)" ( (binary_expression "iVar9 <= (int)lVar30" identifier <= (cast_expression "(int)lVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0013f9fa;" goto statement_identifier ;)) })) (expression_statement "lVar30 = lVar30 + 1;" (assignment_expression "lVar30 = lVar30 + 1" identifier = (binary_expression "lVar30 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)lVar30 < iVar9)" ( (binary_expression "(int)lVar30 < iVar9" (cast_expression "(int)lVar30" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) (labeled_statement "LAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }" statement_identifier : (if_statement "if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }" if (parenthesized_expression "(bVar40 && cVar33 == '\n')" ( (binary_expression "bVar40 && cVar33 == '\n'" identifier && (binary_expression "cVar33 == '\n'" identifier == (char_literal "'\n'" ' escape_sequence '))) )) (compound_statement "{\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }" { (expression_statement "uVar10 = (int)uVar37 + 1;" (assignment_expression "uVar10 = (int)uVar37 + 1" identifier = (binary_expression "(int)uVar37 + 1" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar37 = (ulong)uVar10;" (assignment_expression "uVar37 = (ulong)uVar10" identifier = (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "lVar30 = (long)(int)uVar10;" (assignment_expression "lVar30 = (long)(int)uVar10" identifier = (cast_expression "(long)(int)uVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (goto_statement "goto LAB_0013fa06;" goto statement_identifier ;) }))) }))) }))) (labeled_statement "LAB_0013fa0c:\n        *pbVar17 = 0;" statement_identifier : (expression_statement "*pbVar17 = 0;" (assignment_expression "*pbVar17 = 0" (pointer_expression "*pbVar17" * identifier) = number_literal) ;)) (labeled_statement "LAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }" statement_identifier : (if_statement "if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }" if (parenthesized_expression "(((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9))" ( (binary_expression "((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)" (parenthesized_expression "((0 < (int)uVar12) && (bVar25 != 0))" ( (binary_expression "(0 < (int)uVar12) && (bVar25 != 0)" (parenthesized_expression "(0 < (int)uVar12)" ( (binary_expression "0 < (int)uVar12" number_literal < (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(bVar25 != 0)" ( (binary_expression "bVar25 != 0" identifier != number_literal) ))) )) && (parenthesized_expression "(iVar9 = (int)uVar37 + -1, -1 < iVar9)" ( (comma_expression "iVar9 = (int)uVar37 + -1, -1 < iVar9" (assignment_expression "iVar9 = (int)uVar37 + -1" identifier = (binary_expression "(int)uVar37 + -1" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) , (binary_expression "-1 < iVar9" number_literal < identifier)) ))) )) (compound_statement "{\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }" { (labeled_statement "LAB_0013efc6:\n          lVar30 = (long)iVar9;" statement_identifier : (expression_statement "lVar30 = (long)iVar9;" (assignment_expression "lVar30 = (long)iVar9" identifier = (cast_expression "(long)iVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;)) (do_statement "do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);" do (compound_statement "{\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          }" { (expression_statement "pbVar13 = pbVar38 + lVar30;" (assignment_expression "pbVar13 = pbVar38 + lVar30" identifier = (binary_expression "pbVar38 + lVar30" identifier + identifier)) ;) (expression_statement "lVar30 = lVar30 + -1;" (assignment_expression "lVar30 = lVar30 + -1" identifier = (binary_expression "lVar30 + -1" identifier + number_literal)) ;) (expression_statement "uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);" (assignment_expression "uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80)" identifier = (binary_expression "(int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80)" (cast_expression "(int)pbVar24" ( (type_descriptor "int" primitive_type) ) identifier) + (call_expression "(uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((int)(char)*pbVar13 & 0xc0U) == 0x80)" ( (binary_expression "((int)(char)*pbVar13 & 0xc0U) == 0x80" (parenthesized_expression "((int)(char)*pbVar13 & 0xc0U)" ( (binary_expression "(int)(char)*pbVar13 & 0xc0U" (cast_expression "(int)(char)*pbVar13" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*pbVar13" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbVar13" * identifier))) & number_literal) )) == number_literal) ))))) ;) (expression_statement "pbVar24 = (byte *)(ulong)uVar12;" (assignment_expression "pbVar24 = (byte *)(ulong)uVar12" identifier = (cast_expression "(byte *)(ulong)uVar12" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) }) while (parenthesized_expression "(-1 < (int)lVar30)" ( (binary_expression "-1 < (int)lVar30" number_literal < (cast_expression "(int)lVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) }))) (labeled_statement "LAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);" statement_identifier : (expression_statement "pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);" (assignment_expression "pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37)" identifier = (cast_expression "(byte *)(ulong)(uVar12 - (int)uVar37)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(ulong)(uVar12 - (int)uVar37)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar12 - (int)uVar37)" ( (binary_expression "uVar12 - (int)uVar37" identifier - (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;)) (goto_statement "goto LAB_0013f018;" goto statement_identifier ;)) (case_statement "case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;" case (char_literal "'\v'" ' escape_sequence ') : (if_statement "if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;" if (parenthesized_expression "((*(byte *)((long)param_1 + 0x1d) & 1) == 0)" ( (binary_expression "(*(byte *)((long)param_1 + 0x1d) & 1) == 0" (parenthesized_expression "(*(byte *)((long)param_1 + 0x1d) & 1)" ( (binary_expression "*(byte *)((long)param_1 + 0x1d) & 1" (pointer_expression "*(byte *)((long)param_1 + 0x1d)" * (cast_expression "(byte *)((long)param_1 + 0x1d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x1d)" ( (binary_expression "(long)param_1 + 0x1d" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto switchD_0013ea21_caseD_11;" goto statement_identifier ;)) (expression_statement "uVar10 = *param_3;" (assignment_expression "uVar10 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }" if (parenthesized_expression "(uVar10 < 0x30)" ( (binary_expression "uVar10 < 0x30" identifier < number_literal) )) (compound_statement "{\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }" { (expression_statement "plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));" (assignment_expression "plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4))" identifier = (cast_expression "(long *)((ulong)uVar10 + *(long *)(param_3 + 4))" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)uVar10 + *(long *)(param_3 + 4))" ( (binary_expression "(ulong)uVar10 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier) + (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "*param_3 = uVar10 + 8;" (assignment_expression "*param_3 = uVar10 + 8" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar10 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }" else (compound_statement "{\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }" { (expression_statement "plVar16 = *(long **)(param_3 + 2);" (assignment_expression "plVar16 = *(long **)(param_3 + 2)" identifier = (pointer_expression "*(long **)(param_3 + 2)" * (cast_expression "(long **)(param_3 + 2)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(long **)(param_3 + 2) = plVar16 + 1;" (assignment_expression "*(long **)(param_3 + 2) = plVar16 + 1" (pointer_expression "*(long **)(param_3 + 2)" * (cast_expression "(long **)(param_3 + 2)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "plVar16 + 1" identifier + number_literal)) ;) }))) (expression_statement "puVar26 = (undefined8 *)*plVar16;" (assignment_expression "puVar26 = (undefined8 *)*plVar16" identifier = (cast_expression "(undefined8 *)*plVar16" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar16" * identifier))) ;) (if_statement "if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;" if (parenthesized_expression "((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0))" ( (binary_expression "(puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)" (parenthesized_expression "(puVar26 == (undefined8 *)0x0)" ( (binary_expression "puVar26 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*(int *)(puVar26 + 1) == 0)" ( (binary_expression "*(int *)(puVar26 + 1) == 0" (pointer_expression "*(int *)(puVar26 + 1)" * (cast_expression "(int *)(puVar26 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 1)" ( (binary_expression "puVar26 + 1" identifier + number_literal) )))) == number_literal) ))) )) (goto_statement "goto LAB_0013f287;" goto statement_identifier ;)) (expression_statement "FUN_0013e580(param_1,*puVar26);" (call_expression "FUN_0013e580(param_1,*puVar26)" identifier (argument_list "(param_1,*puVar26)" ( identifier , (pointer_expression "*puVar26" * identifier) ))) ;) (expression_statement "FUN_0013e580(param_1,pbVar38,0);" (call_expression "FUN_0013e580(param_1,pbVar38,0)" identifier (argument_list "(param_1,pbVar38,0)" ( identifier , identifier , number_literal ))) ;) (break_statement "break;" break ;)) (case_statement "case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;" case (char_literal "'\f'" ' escape_sequence ') : (if_statement "if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;" if (parenthesized_expression "((*(byte *)((long)param_1 + 0x1d) & 1) == 0)" ( (binary_expression "(*(byte *)((long)param_1 + 0x1d) & 1) == 0" (parenthesized_expression "(*(byte *)((long)param_1 + 0x1d) & 1)" ( (binary_expression "*(byte *)((long)param_1 + 0x1d) & 1" (pointer_expression "*(byte *)((long)param_1 + 0x1d)" * (cast_expression "(byte *)((long)param_1 + 0x1d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x1d)" ( (binary_expression "(long)param_1 + 0x1d" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto switchD_0013ea21_caseD_11;" goto statement_identifier ;)) (expression_statement "uVar10 = *param_3;" (assignment_expression "uVar10 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }" if (parenthesized_expression "(uVar10 < 0x30)" ( (binary_expression "uVar10 < 0x30" identifier < number_literal) )) (compound_statement "{\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }" { (expression_statement "uVar12 = uVar10 + 8;" (assignment_expression "uVar12 = uVar10 + 8" identifier = (binary_expression "uVar10 + 8" identifier + number_literal)) ;) (expression_statement "*param_3 = uVar12;" (assignment_expression "*param_3 = uVar12" (pointer_expression "*param_3" * identifier) = identifier) ;) (expression_statement "lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);" (assignment_expression "lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10)" identifier = (pointer_expression "*(long *)(*(long *)(param_3 + 4) + (ulong)uVar10)" * (cast_expression "(long *)(*(long *)(param_3 + 4) + (ulong)uVar10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_3 + 4) + (ulong)uVar10)" ( (binary_expression "*(long *)(param_3 + 4) + (ulong)uVar10" (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) )))) + (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier)) ))))) ;) (if_statement "if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }" if (parenthesized_expression "(0x2f < uVar12)" ( (binary_expression "0x2f < uVar12" number_literal < identifier) )) (compound_statement "{\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }" { (expression_statement "plVar16 = *(long **)(param_3 + 2);" (assignment_expression "plVar16 = *(long **)(param_3 + 2)" identifier = (pointer_expression "*(long **)(param_3 + 2)" * (cast_expression "(long **)(param_3 + 2)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0013f46b;" goto statement_identifier ;) })) (expression_statement "plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);" (assignment_expression "plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12)" identifier = (cast_expression "(long *)(*(long *)(param_3 + 4) + (ulong)uVar12)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_3 + 4) + (ulong)uVar12)" ( (binary_expression "*(long *)(param_3 + 4) + (ulong)uVar12" (pointer_expression "*(long *)(param_3 + 4)" * (cast_expression "(long *)(param_3 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) )))) + (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier)) )))) ;) (expression_statement "*param_3 = uVar10 + 0x10;" (assignment_expression "*param_3 = uVar10 + 0x10" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar10 + 0x10" identifier + number_literal)) ;) }) (else_clause "else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }" else (compound_statement "{\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }" { (expression_statement "plVar2 = *(long **)(param_3 + 2);" (assignment_expression "plVar2 = *(long **)(param_3 + 2)" identifier = (pointer_expression "*(long **)(param_3 + 2)" * (cast_expression "(long **)(param_3 + 2)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) ))))) ;) (expression_statement "plVar16 = plVar2 + 1;" (assignment_expression "plVar16 = plVar2 + 1" identifier = (binary_expression "plVar2 + 1" identifier + number_literal)) ;) (expression_statement "*(long **)(param_3 + 2) = plVar16;" (assignment_expression "*(long **)(param_3 + 2) = plVar16" (pointer_expression "*(long **)(param_3 + 2)" * (cast_expression "(long **)(param_3 + 2)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = identifier) ;) (expression_statement "lVar30 = *plVar2;" (assignment_expression "lVar30 = *plVar2" identifier = (pointer_expression "*plVar2" * identifier)) ;) (labeled_statement "LAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;" statement_identifier : (expression_statement "*(long **)(param_3 + 2) = plVar16 + 1;" (assignment_expression "*(long **)(param_3 + 2) = plVar16 + 1" (pointer_expression "*(long **)(param_3 + 2)" * (cast_expression "(long **)(param_3 + 2)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) = (binary_expression "plVar16 + 1" identifier + number_literal)) ;)) }))) (expression_statement "lVar23 = *plVar16;" (assignment_expression "lVar23 = *plVar16" identifier = (pointer_expression "*plVar16" * identifier)) ;) (if_statement "if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }" if (parenthesized_expression "(*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0)" ( (binary_expression "*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0" (pointer_expression "*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70)" * (cast_expression "(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x10 + (long)(int)lVar23 * 0x70)" ( (binary_expression "lVar30 + 0x10 + (long)(int)lVar23 * 0x70" (binary_expression "lVar30 + 0x10" identifier + number_literal) + (binary_expression "(long)(int)lVar23 * 0x70" (cast_expression "(long)(int)lVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)lVar23" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal)) )))) != number_literal) )) (compound_statement "{\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }" { (expression_statement "FUN_0013e5b0(param_1);" (call_expression "FUN_0013e5b0(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "FUN_0013e580(param_1,&DAT_001eaed8,1);" (call_expression "FUN_0013e580(param_1,&DAT_001eaed8,1)" identifier (argument_list "(param_1,&DAT_001eaed8,1)" ( identifier , (pointer_expression "&DAT_001eaed8" & identifier) , number_literal ))) ;) })) (expression_statement "FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));" (call_expression "FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70))" identifier (argument_list "(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70))" ( identifier , (pointer_expression "*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70)" * (cast_expression "(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x18 + (long)(int)lVar23 * 0x70)" ( (binary_expression "lVar30 + 0x18 + (long)(int)lVar23 * 0x70" (binary_expression "lVar30 + 0x18" identifier + number_literal) + (binary_expression "(long)(int)lVar23 * 0x70" (cast_expression "(long)(int)lVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)lVar23" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal)) )))) ))) ;) (expression_statement "FUN_0013e580(param_1,pbVar38,0);" (call_expression "FUN_0013e580(param_1,pbVar38,0)" identifier (argument_list "(param_1,pbVar38,0)" ( identifier , identifier , number_literal ))) ;) (break_statement "break;" break ;)) (case_statement "case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;" case (char_literal "'\r'" ' escape_sequence ') : (expression_statement "bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;" (assignment_expression "bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1" identifier = (binary_expression "(&DAT_001f5562)[lVar30 * 6] & 1" (subscript_expression "(&DAT_001f5562)[lVar30 * 6]" (parenthesized_expression "(&DAT_001f5562)" ( (pointer_expression "&DAT_001f5562" & identifier) )) [ (binary_expression "lVar30 * 6" identifier * number_literal) ]) & number_literal)) ;) (if_statement "if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }" if (parenthesized_expression "(((&DAT_001f5562)[lVar30 * 6] & 1) == 0)" ( (binary_expression "((&DAT_001f5562)[lVar30 * 6] & 1) == 0" (parenthesized_expression "((&DAT_001f5562)[lVar30 * 6] & 1)" ( (binary_expression "(&DAT_001f5562)[lVar30 * 6] & 1" (subscript_expression "(&DAT_001f5562)[lVar30 * 6]" (parenthesized_expression "(&DAT_001f5562)" ( (pointer_expression "&DAT_001f5562" & identifier) )) [ (binary_expression "lVar30 * 6" identifier * number_literal) ]) & number_literal) )) == number_literal) )) (compound_statement "{\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }" { (if_statement "if (local_b6 != 0) goto LAB_0013f695;" if (parenthesized_expression "(local_b6 != 0)" ( (binary_expression "local_b6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0013f695;" goto statement_identifier ;)) (expression_statement "uVar19 = *param_3;" (assignment_expression "uVar19 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0013f48c;" goto statement_identifier ;) })) (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" identifier = number_literal) ;) (if_statement "if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }" if (parenthesized_expression "(local_b6 == 0)" ( (binary_expression "local_b6 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }" { (expression_statement "uVar19 = *param_3;" (assignment_expression "uVar19 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (goto_statement "goto LAB_0013f15e;" goto statement_identifier ;) })) (goto_statement "goto LAB_0013f4cf;" goto statement_identifier ;)) (case_statement "default:\n        goto switchD_0013ea21_caseD_11;" default : (goto_statement "goto switchD_0013ea21_caseD_11;" goto statement_identifier ;)) })) (expression_statement "bVar7 = param_2[1];" (assignment_expression "bVar7 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (labeled_statement "joined_r0x0013ebb8:\n      param_2 = param_2 + 1;" statement_identifier : (expression_statement "param_2 = param_2 + 1;" (assignment_expression "param_2 = param_2 + 1" identifier = (binary_expression "param_2 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )) ;) })) (labeled_statement "switchD_0013ea21_caseD_11:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }" statement_identifier : (if_statement "if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }" if (parenthesized_expression "(local_40 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) 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 (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration (sized_type_specifier long) IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (break_statement break ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT ))) ;) (break_statement break ;) })) (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 = 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 = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (break_statement break ;)) (case_statement default : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (break_statement break ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }))) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( IDENT ))) - IDENT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }))) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (goto_statement goto statement_identifier ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ 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 * 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (unary_expression - IDENT)) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)))) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (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 (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) }))) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ])) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case (char_literal ' escape_sequence ') :) (case_statement case (char_literal ' escape_sequence ') : (expression_statement (assignment_expression IDENT = LIT) ;)) (case_statement case (char_literal ' escape_sequence ') : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (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 *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) })))) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (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 *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) < LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) })))) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) < LIT) )) (goto_statement goto statement_identifier ;)) }))) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) })))) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( IDENT )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT - (parenthesized_expression ( (binary_expression IDENT != LIT) )))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT))) ))) )) (compound_statement { (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / LIT))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (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 (binary_expression IDENT + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT % LIT) < LIT) )) && (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT / LIT) )) % LIT) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT % LIT) ))) * LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (string_literal " string_content ") [ (binary_expression IDENT + LIT) ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (string_literal " string_content ") [ IDENT ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (pointer_expression & IDENT) ))) [ (binary_expression IDENT * LIT) ])) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression (string_literal " string_content ") [ (binary_expression (binary_expression IDENT % IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT <= IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT / IDENT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (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 = (binary_expression IDENT + (unary_expression ~ (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) - IDENT) )))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - LIT) ))) / LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - LIT) ))) % LIT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (subscript_expression IDENT [ (binary_expression IDENT + IDENT) ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression 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 = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ])) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ])) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - IDENT) ))))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;)) }) (else_clause else (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) })))))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , IDENT ))) ;) })) (break_statement break ;)) (case_statement case (char_literal ' escape_sequence ') :) (case_statement case (char_literal ' escape_sequence ') :) (case_statement case (char_literal ' escape_sequence ') : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) * LIT)) )))) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_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 = BOOL) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (unary_expression ! IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (labeled_statement statement_identifier : (expression_statement ;)) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) })) (if_statement if (parenthesized_expression ( (call_expression IDENT (argument_list ( IDENT ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (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 = (pointer_expression & IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression 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 IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (do_statement do (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 = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * IDENT) <= IDENT) && (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT)) )) ;) (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 <= IDENT) )) && (parenthesized_expression ( IDENT ))) )) (compound_statement { (do_statement do (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 = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * (cast_expression ( (type_descriptor TYPE) ) IDENT)) <= IDENT) && IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * IDENT) <= IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT * IDENT)) , IDENT) ))) )) (compound_statement { (do_statement do (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 = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) && (binary_expression (binary_expression IDENT * IDENT) <= IDENT)) )) ;) })) (for_statement for ( (assignment_expression IDENT = (binary_expression IDENT / IDENT)) ; (binary_expression IDENT < IDENT) ; (assignment_expression IDENT = (binary_expression IDENT * (cast_expression ( (type_descriptor TYPE) ) IDENT))) ) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) )))) ;) })) (for_statement for ( ; (binary_expression IDENT < LIT) ; (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT != LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_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 ( IDENT )) (argument_list ( (binary_expression IDENT - 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - 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 ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) })) (expression_statement (assignment_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 = (binary_expression IDENT ^ LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (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 = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) }))) }) (else_clause else (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 = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) }))))) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + LIT) + IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (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 { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT || (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (unary_expression ~ IDENT))) + LIT)) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) + IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT )))) - (parenthesized_expression ( (binary_expression IDENT + LIT) ))) + LIT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression LIT < IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT )))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT )))))) )) * (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) + LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) + LIT)) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) + LIT)) ;)) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) + LIT)) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression LIT < IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT )))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT )))))) )) * (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT || (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT || (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) ))) ))) )) (compound_statement { (while_statement while (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) })) }))) }))) (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 (pointer_expression * IDENT) = (subscript_expression (string_literal " string_content ") [ (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (pointer_expression & IDENT) ))) [ (binary_expression IDENT * LIT) ]) ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT / LIT) ))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT / LIT) ))) * LIT)) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT / LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT)) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) & LIT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT & (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 ( IDENT )) (argument_list ( (binary_expression IDENT - IDENT) ))))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (subscript_expression IDENT [ (binary_expression IDENT - IDENT) ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT != LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))) + LIT) != IDENT) )) ;) })) (goto_statement goto statement_identifier ;)) (case_statement case (char_literal ' escape_sequence ') : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , 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 * 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;)) (case_statement case (char_literal ' escape_sequence ') :) (case_statement case (char_literal ' escape_sequence ') : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) == LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) ))) )) (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 (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (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 IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) | LIT)) ;) (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 (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (break_statement break ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (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)) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (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 == LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (while_statement while (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = (binary_expression IDENT - LIT)) , (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (while_statement while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) })) })) (expression_statement (assignment_expression IDENT = (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) + LIT) == IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) ;) (goto_statement goto statement_identifier ;)) (case_statement case (char_literal ' escape_sequence ') : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 ;)) (case_statement case (char_literal ' escape_sequence ') : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT - LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) & LIT) )) - LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) + LIT)) ;) }))) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (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 (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ IDENT ]) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (subscript_expression IDENT [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) || (parenthesized_expression ( IDENT ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT - LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (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 = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (break_statement break ;)) (case_statement case (char_literal ' escape_sequence ') :) (case_statement case (char_literal ' escape_sequence ') :) (case_statement case (char_literal ' escape_sequence ') : (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) * (char_literal ' escape_sequence ')) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * IDENT)) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT))) ))) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = 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 * IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ]))) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ IDENT ]))) & LIT) )) == LIT) )) ;) })))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT && (binary_expression IDENT == (char_literal ' escape_sequence ')))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + LIT) + IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }))) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) )) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT && (binary_expression IDENT == (char_literal ' escape_sequence '))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (goto_statement goto statement_identifier ;) }))) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) , (binary_expression LIT < IDENT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;)) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))) & LIT) )) == LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) while (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) ;)) (goto_statement goto statement_identifier ;)) (case_statement case (char_literal ' escape_sequence ') : (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 (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (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 IDENT (argument_list ( IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (break_statement break ;)) (case_statement case (char_literal ' escape_sequence ') : (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 (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;)) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) * LIT)) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( 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 (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) * LIT)) )))) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (break_statement break ;)) (case_statement case (char_literal ' escape_sequence ') : (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;)) (case_statement default : (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return ;) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "void FUN_0013e7b0(undefined8 *param_1,byte *param_2,uint *param_3)\n\n{\n  double *pdVar1;\n  long *plVar2;\n  double dVar3;\n  double dVar4;\n  bool bVar5;\n  double dVar6;\n  byte bVar7;\n  byte bVar8;\n  int iVar9;\n  uint uVar10;\n  undefined4 uVar11;\n  uint uVar12;\n  byte *pbVar13;\n  byte *pbVar14;\n  size_t sVar15;\n  long *plVar16;\n  byte *pbVar17;\n  char cVar18;\n  uint uVar19;\n  int iVar20;\n  int *piVar21;\n  ulong *puVar22;\n  long lVar23;\n  byte *pbVar24;\n  byte bVar25;\n  undefined8 *puVar26;\n  long lVar27;\n  ulong uVar28;\n  int iVar29;\n  long lVar30;\n  int iVar31;\n  uint *puVar32;\n  char cVar33;\n  char *pcVar34;\n  byte bVar35;\n  byte bVar36;\n  ulong uVar37;\n  byte *pbVar38;\n  long in_FS_OFFSET;\n  bool bVar39;\n  bool bVar40;\n  double dVar41;\n  double dVar42;\n  byte *local_e0;\n  int *local_d8;\n  int local_c8;\n  byte local_b6;\n  byte local_b5;\n  byte local_88 [69];\n  byte local_43 [3];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_b6 = *(byte *)((long)param_1 + 0x1d) & 2;\n  local_d8 = (int *)0x0;\n  if ((*(byte *)((long)param_1 + 0x1d) & 2) != 0) {\n    uVar10 = *param_3;\n    if (uVar10 < 0x30) {\n      puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n      *param_3 = uVar10 + 8;\n    }\n    else {\n      puVar26 = *(undefined8 **)(param_3 + 2);\n      *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n    }\n    local_d8 = (int *)*puVar26;\n    local_b6 = 1;\n  }\n  bVar7 = *param_2;\n  if (bVar7 != 0) {\n    pbVar38 = (byte *)0x0;\n    do {\n      pbVar13 = param_2;\n      if (bVar7 != 0x25) {\n        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);\n        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);\n        pbVar38 = param_2;\n        if (*pbVar13 == 0) break;\n      }\n      iVar9 = (int)(char)pbVar13[1];\n      if (pbVar13[1] == 0) {\n        FUN_0013e580(param_1,&DAT_001e9c91,1);\n        break;\n      }\n      bVar39 = false;\n      uVar10 = 0xffffffff;\n      bVar36 = 0;\n      bVar25 = 0;\n      bVar5 = false;\n      bVar35 = 0;\n      bVar7 = 0;\n      pbVar24 = (byte *)0x0;\n      pbVar13 = pbVar13 + 1;\n      do {\n        param_2 = pbVar13;\n        switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar13 = param_2;\n      } while (iVar9 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar18 = '\0';\nLAB_0013e9c2:\n      uVar12 = (uint)pbVar24;\n      pcVar34 = "s";\n      iVar29 = 0;\n      iVar31 = 100;\n      while (iVar31 != iVar9) {\n        iVar29 = iVar29 + 1;\n        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;\n        cVar33 = *pcVar34;\n        pcVar34 = pcVar34 + 6;\n        iVar31 = (int)cVar33;\n      }\n      lVar30 = (long)iVar29;\n      cVar33 = (&DAT_001f5563)[lVar30 * 6];\n      switch(cVar33) {\n      case '\0':\n      case '\x0f':\n        bVar36 = 0;\n      case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;\n      case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar7 = param_2[1];\njoined_r0x0013ebb8:\n      param_2 = param_2 + 1;\n    } while (bVar7 != 0);\n  }\nswitchD_0013ea21_caseD_11:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    \n  __stack_chk_fail();\n}" (primitive_type "void") (function_declarator "FUN_0013e7b0(undefined8 *param_1,byte *param_2,uint *param_3)" (identifier "FUN_0013e7b0") (parameter_list "(undefined8 *param_1,byte *param_2,uint *param_3)" (( "(") (parameter_declaration "undefined8 *param_1" (type_identifier "undefined8") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "byte *param_2" (type_identifier "byte") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "uint *param_3" (type_identifier "uint") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")"))) (compound_statement "{\n  double *pdVar1;\n  long *plVar2;\n  double dVar3;\n  double dVar4;\n  bool bVar5;\n  double dVar6;\n  byte bVar7;\n  byte bVar8;\n  int iVar9;\n  uint uVar10;\n  undefined4 uVar11;\n  uint uVar12;\n  byte *pbVar13;\n  byte *pbVar14;\n  size_t sVar15;\n  long *plVar16;\n  byte *pbVar17;\n  char cVar18;\n  uint uVar19;\n  int iVar20;\n  int *piVar21;\n  ulong *puVar22;\n  long lVar23;\n  byte *pbVar24;\n  byte bVar25;\n  undefined8 *puVar26;\n  long lVar27;\n  ulong uVar28;\n  int iVar29;\n  long lVar30;\n  int iVar31;\n  uint *puVar32;\n  char cVar33;\n  char *pcVar34;\n  byte bVar35;\n  byte bVar36;\n  ulong uVar37;\n  byte *pbVar38;\n  long in_FS_OFFSET;\n  bool bVar39;\n  bool bVar40;\n  double dVar41;\n  double dVar42;\n  byte *local_e0;\n  int *local_d8;\n  int local_c8;\n  byte local_b6;\n  byte local_b5;\n  byte local_88 [69];\n  byte local_43 [3];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_b6 = *(byte *)((long)param_1 + 0x1d) & 2;\n  local_d8 = (int *)0x0;\n  if ((*(byte *)((long)param_1 + 0x1d) & 2) != 0) {\n    uVar10 = *param_3;\n    if (uVar10 < 0x30) {\n      puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n      *param_3 = uVar10 + 8;\n    }\n    else {\n      puVar26 = *(undefined8 **)(param_3 + 2);\n      *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n    }\n    local_d8 = (int *)*puVar26;\n    local_b6 = 1;\n  }\n  bVar7 = *param_2;\n  if (bVar7 != 0) {\n    pbVar38 = (byte *)0x0;\n    do {\n      pbVar13 = param_2;\n      if (bVar7 != 0x25) {\n        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);\n        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);\n        pbVar38 = param_2;\n        if (*pbVar13 == 0) break;\n      }\n      iVar9 = (int)(char)pbVar13[1];\n      if (pbVar13[1] == 0) {\n        FUN_0013e580(param_1,&DAT_001e9c91,1);\n        break;\n      }\n      bVar39 = false;\n      uVar10 = 0xffffffff;\n      bVar36 = 0;\n      bVar25 = 0;\n      bVar5 = false;\n      bVar35 = 0;\n      bVar7 = 0;\n      pbVar24 = (byte *)0x0;\n      pbVar13 = pbVar13 + 1;\n      do {\n        param_2 = pbVar13;\n        switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar13 = param_2;\n      } while (iVar9 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar18 = '\0';\nLAB_0013e9c2:\n      uVar12 = (uint)pbVar24;\n      pcVar34 = "s";\n      iVar29 = 0;\n      iVar31 = 100;\n      while (iVar31 != iVar9) {\n        iVar29 = iVar29 + 1;\n        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;\n        cVar33 = *pcVar34;\n        pcVar34 = pcVar34 + 6;\n        iVar31 = (int)cVar33;\n      }\n      lVar30 = (long)iVar29;\n      cVar33 = (&DAT_001f5563)[lVar30 * 6];\n      switch(cVar33) {\n      case '\0':\n      case '\x0f':\n        bVar36 = 0;\n      case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;\n      case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar7 = param_2[1];\njoined_r0x0013ebb8:\n      param_2 = param_2 + 1;\n    } while (bVar7 != 0);\n  }\nswitchD_0013ea21_caseD_11:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    \n  __stack_chk_fail();\n}" ({ "{") (declaration "double *pdVar1;" (primitive_type "double") (pointer_declarator "*pdVar1" (* "*") (identifier "pdVar1")) (; ";")) (declaration "long *plVar2;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar2" (* "*") (identifier "plVar2")) (; ";")) (declaration "double dVar3;" (primitive_type "double") (identifier "dVar3") (; ";")) (declaration "double dVar4;" (primitive_type "double") (identifier "dVar4") (; ";")) (declaration "bool bVar5;" (primitive_type "bool") (identifier "bVar5") (; ";")) (declaration "double dVar6;" (primitive_type "double") (identifier "dVar6") (; ";")) (declaration "byte bVar7;" (type_identifier "byte") (identifier "bVar7") (; ";")) (declaration "byte bVar8;" (type_identifier "byte") (identifier "bVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "undefined4 uVar11;" (type_identifier "undefined4") (identifier "uVar11") (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "byte *pbVar13;" (type_identifier "byte") (pointer_declarator "*pbVar13" (* "*") (identifier "pbVar13")) (; ";")) (declaration "byte *pbVar14;" (type_identifier "byte") (pointer_declarator "*pbVar14" (* "*") (identifier "pbVar14")) (; ";")) (declaration "size_t sVar15;" (primitive_type "size_t") (identifier "sVar15") (; ";")) (declaration "long *plVar16;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar16" (* "*") (identifier "plVar16")) (; ";")) (declaration "byte *pbVar17;" (type_identifier "byte") (pointer_declarator "*pbVar17" (* "*") (identifier "pbVar17")) (; ";")) (declaration "char cVar18;" (primitive_type "char") (identifier "cVar18") (; ";")) (declaration "uint uVar19;" (type_identifier "uint") (identifier "uVar19") (; ";")) (declaration "int iVar20;" (primitive_type "int") (identifier "iVar20") (; ";")) (declaration "int *piVar21;" (primitive_type "int") (pointer_declarator "*piVar21" (* "*") (identifier "piVar21")) (; ";")) (declaration "ulong *puVar22;" (type_identifier "ulong") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "long lVar23;" (sized_type_specifier "long" (long "long")) (identifier "lVar23") (; ";")) (declaration "byte *pbVar24;" (type_identifier "byte") (pointer_declarator "*pbVar24" (* "*") (identifier "pbVar24")) (; ";")) (declaration "byte bVar25;" (type_identifier "byte") (identifier "bVar25") (; ";")) (declaration "undefined8 *puVar26;" (type_identifier "undefined8") (pointer_declarator "*puVar26" (* "*") (identifier "puVar26")) (; ";")) (declaration "long lVar27;" (sized_type_specifier "long" (long "long")) (identifier "lVar27") (; ";")) (declaration "ulong uVar28;" (type_identifier "ulong") (identifier "uVar28") (; ";")) (declaration "int iVar29;" (primitive_type "int") (identifier "iVar29") (; ";")) (declaration "long lVar30;" (sized_type_specifier "long" (long "long")) (identifier "lVar30") (; ";")) (declaration "int iVar31;" (primitive_type "int") (identifier "iVar31") (; ";")) (declaration "uint *puVar32;" (type_identifier "uint") (pointer_declarator "*puVar32" (* "*") (identifier "puVar32")) (; ";")) (declaration "char cVar33;" (primitive_type "char") (identifier "cVar33") (; ";")) (declaration "char *pcVar34;" (primitive_type "char") (pointer_declarator "*pcVar34" (* "*") (identifier "pcVar34")) (; ";")) (declaration "byte bVar35;" (type_identifier "byte") (identifier "bVar35") (; ";")) (declaration "byte bVar36;" (type_identifier "byte") (identifier "bVar36") (; ";")) (declaration "ulong uVar37;" (type_identifier "ulong") (identifier "uVar37") (; ";")) (declaration "byte *pbVar38;" (type_identifier "byte") (pointer_declarator "*pbVar38" (* "*") (identifier "pbVar38")) (; ";")) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" (long "long")) (identifier "in_FS_OFFSET") (; ";")) (declaration "bool bVar39;" (primitive_type "bool") (identifier "bVar39") (; ";")) (declaration "bool bVar40;" (primitive_type "bool") (identifier "bVar40") (; ";")) (declaration "double dVar41;" (primitive_type "double") (identifier "dVar41") (; ";")) (declaration "double dVar42;" (primitive_type "double") (identifier "dVar42") (; ";")) (declaration "byte *local_e0;" (type_identifier "byte") (pointer_declarator "*local_e0" (* "*") (identifier "local_e0")) (; ";")) (declaration "int *local_d8;" (primitive_type "int") (pointer_declarator "*local_d8" (* "*") (identifier "local_d8")) (; ";")) (declaration "int local_c8;" (primitive_type "int") (identifier "local_c8") (; ";")) (declaration "byte local_b6;" (type_identifier "byte") (identifier "local_b6") (; ";")) (declaration "byte local_b5;" (type_identifier "byte") (identifier "local_b5") (; ";")) (declaration "byte local_88 [69];" (type_identifier "byte") (array_declarator "local_88 [69]" (identifier "local_88") ([ "[") (number_literal "69") (] "]")) (; ";")) (declaration "byte local_43 [3];" (type_identifier "byte") (array_declarator "local_43 [3]" (identifier "local_43") ([ "[") (number_literal "3") (] "]")) (; ";")) (declaration "long local_40;" (sized_type_specifier "long" (long "long")) (identifier "local_40") (; ";")) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_40") (= "=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "local_b6 = *(byte *)((long)param_1 + 0x1d) & 2;" (assignment_expression "local_b6 = *(byte *)((long)param_1 + 0x1d) & 2" (identifier "local_b6") (= "=") (binary_expression "*(byte *)((long)param_1 + 0x1d) & 2" (pointer_expression "*(byte *)((long)param_1 + 0x1d)" (* "*") (cast_expression "(byte *)((long)param_1 + 0x1d)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x1d)" (( "(") (binary_expression "(long)param_1 + 0x1d" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x1d")) () ")")))) (& "&") (number_literal "2"))) (; ";")) (expression_statement "local_d8 = (int *)0x0;" (assignment_expression "local_d8 = (int *)0x0" (identifier "local_d8") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if ((*(byte *)((long)param_1 + 0x1d) & 2) != 0) {\n    uVar10 = *param_3;\n    if (uVar10 < 0x30) {\n      puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n      *param_3 = uVar10 + 8;\n    }\n    else {\n      puVar26 = *(undefined8 **)(param_3 + 2);\n      *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n    }\n    local_d8 = (int *)*puVar26;\n    local_b6 = 1;\n  }" (if "if") (parenthesized_expression "((*(byte *)((long)param_1 + 0x1d) & 2) != 0)" (( "(") (binary_expression "(*(byte *)((long)param_1 + 0x1d) & 2) != 0" (parenthesized_expression "(*(byte *)((long)param_1 + 0x1d) & 2)" (( "(") (binary_expression "*(byte *)((long)param_1 + 0x1d) & 2" (pointer_expression "*(byte *)((long)param_1 + 0x1d)" (* "*") (cast_expression "(byte *)((long)param_1 + 0x1d)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x1d)" (( "(") (binary_expression "(long)param_1 + 0x1d" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x1d")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar10 = *param_3;\n    if (uVar10 < 0x30) {\n      puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n      *param_3 = uVar10 + 8;\n    }\n    else {\n      puVar26 = *(undefined8 **)(param_3 + 2);\n      *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n    }\n    local_d8 = (int *)*puVar26;\n    local_b6 = 1;\n  }" ({ "{") (expression_statement "uVar10 = *param_3;" (assignment_expression "uVar10 = *param_3" (identifier "uVar10") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (if_statement "if (uVar10 < 0x30) {\n      puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n      *param_3 = uVar10 + 8;\n    }\n    else {\n      puVar26 = *(undefined8 **)(param_3 + 2);\n      *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n    }" (if "if") (parenthesized_expression "(uVar10 < 0x30)" (( "(") (binary_expression "uVar10 < 0x30" (identifier "uVar10") (< "<") (number_literal "0x30")) () ")")) (compound_statement "{\n      puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n      *param_3 = uVar10 + 8;\n    }" ({ "{") (expression_statement "puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));" (assignment_expression "puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4))" (identifier "puVar26") (= "=") (cast_expression "(undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4))" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)uVar10 + *(long *)(param_3 + 4))" (( "(") (binary_expression "(ulong)uVar10 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar10" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar10")) (+ "+") (pointer_expression "*(long *)(param_3 + 4)" (* "*") (cast_expression "(long *)(param_3 + 4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 4)" (( "(") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4")) () ")"))))) () ")")))) (; ";")) (expression_statement "*param_3 = uVar10 + 8;" (assignment_expression "*param_3 = uVar10 + 8" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "uVar10 + 8" (identifier "uVar10") (+ "+") (number_literal "8"))) (; ";")) (} "}")) (else_clause "else {\n      puVar26 = *(undefined8 **)(param_3 + 2);\n      *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n    }" (else "else") (compound_statement "{\n      puVar26 = *(undefined8 **)(param_3 + 2);\n      *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n    }" ({ "{") (expression_statement "puVar26 = *(undefined8 **)(param_3 + 2);" (assignment_expression "puVar26 = *(undefined8 **)(param_3 + 2)" (identifier "puVar26") (= "=") (pointer_expression "*(undefined8 **)(param_3 + 2)" (* "*") (cast_expression "(undefined8 **)(param_3 + 2)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "*(undefined8 **)(param_3 + 2) = puVar26 + 1;" (assignment_expression "*(undefined8 **)(param_3 + 2) = puVar26 + 1" (pointer_expression "*(undefined8 **)(param_3 + 2)" (* "*") (cast_expression "(undefined8 **)(param_3 + 2)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "puVar26 + 1" (identifier "puVar26") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "local_d8 = (int *)*puVar26;" (assignment_expression "local_d8 = (int *)*puVar26" (identifier "local_d8") (= "=") (cast_expression "(int *)*puVar26" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar26" (* "*") (identifier "puVar26")))) (; ";")) (expression_statement "local_b6 = 1;" (assignment_expression "local_b6 = 1" (identifier "local_b6") (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "bVar7 = *param_2;" (assignment_expression "bVar7 = *param_2" (identifier "bVar7") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (if_statement "if (bVar7 != 0) {\n    pbVar38 = (byte *)0x0;\n    do {\n      pbVar13 = param_2;\n      if (bVar7 != 0x25) {\n        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);\n        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);\n        pbVar38 = param_2;\n        if (*pbVar13 == 0) break;\n      }\n      iVar9 = (int)(char)pbVar13[1];\n      if (pbVar13[1] == 0) {\n        FUN_0013e580(param_1,&DAT_001e9c91,1);\n        break;\n      }\n      bVar39 = false;\n      uVar10 = 0xffffffff;\n      bVar36 = 0;\n      bVar25 = 0;\n      bVar5 = false;\n      bVar35 = 0;\n      bVar7 = 0;\n      pbVar24 = (byte *)0x0;\n      pbVar13 = pbVar13 + 1;\n      do {\n        param_2 = pbVar13;\n        switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar13 = param_2;\n      } while (iVar9 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar18 = '\0';\nLAB_0013e9c2:\n      uVar12 = (uint)pbVar24;\n      pcVar34 = "s";\n      iVar29 = 0;\n      iVar31 = 100;\n      while (iVar31 != iVar9) {\n        iVar29 = iVar29 + 1;\n        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;\n        cVar33 = *pcVar34;\n        pcVar34 = pcVar34 + 6;\n        iVar31 = (int)cVar33;\n      }\n      lVar30 = (long)iVar29;\n      cVar33 = (&DAT_001f5563)[lVar30 * 6];\n      switch(cVar33) {\n      case '\0':\n      case '\x0f':\n        bVar36 = 0;\n      case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;\n      case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar7 = param_2[1];\njoined_r0x0013ebb8:\n      param_2 = param_2 + 1;\n    } while (bVar7 != 0);\n  }" (if "if") (parenthesized_expression "(bVar7 != 0)" (( "(") (binary_expression "bVar7 != 0" (identifier "bVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    pbVar38 = (byte *)0x0;\n    do {\n      pbVar13 = param_2;\n      if (bVar7 != 0x25) {\n        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);\n        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);\n        pbVar38 = param_2;\n        if (*pbVar13 == 0) break;\n      }\n      iVar9 = (int)(char)pbVar13[1];\n      if (pbVar13[1] == 0) {\n        FUN_0013e580(param_1,&DAT_001e9c91,1);\n        break;\n      }\n      bVar39 = false;\n      uVar10 = 0xffffffff;\n      bVar36 = 0;\n      bVar25 = 0;\n      bVar5 = false;\n      bVar35 = 0;\n      bVar7 = 0;\n      pbVar24 = (byte *)0x0;\n      pbVar13 = pbVar13 + 1;\n      do {\n        param_2 = pbVar13;\n        switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar13 = param_2;\n      } while (iVar9 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar18 = '\0';\nLAB_0013e9c2:\n      uVar12 = (uint)pbVar24;\n      pcVar34 = "s";\n      iVar29 = 0;\n      iVar31 = 100;\n      while (iVar31 != iVar9) {\n        iVar29 = iVar29 + 1;\n        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;\n        cVar33 = *pcVar34;\n        pcVar34 = pcVar34 + 6;\n        iVar31 = (int)cVar33;\n      }\n      lVar30 = (long)iVar29;\n      cVar33 = (&DAT_001f5563)[lVar30 * 6];\n      switch(cVar33) {\n      case '\0':\n      case '\x0f':\n        bVar36 = 0;\n      case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;\n      case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar7 = param_2[1];\njoined_r0x0013ebb8:\n      param_2 = param_2 + 1;\n    } while (bVar7 != 0);\n  }" ({ "{") (expression_statement "pbVar38 = (byte *)0x0;" (assignment_expression "pbVar38 = (byte *)0x0" (identifier "pbVar38") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (do_statement "do {\n      pbVar13 = param_2;\n      if (bVar7 != 0x25) {\n        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);\n        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);\n        pbVar38 = param_2;\n        if (*pbVar13 == 0) break;\n      }\n      iVar9 = (int)(char)pbVar13[1];\n      if (pbVar13[1] == 0) {\n        FUN_0013e580(param_1,&DAT_001e9c91,1);\n        break;\n      }\n      bVar39 = false;\n      uVar10 = 0xffffffff;\n      bVar36 = 0;\n      bVar25 = 0;\n      bVar5 = false;\n      bVar35 = 0;\n      bVar7 = 0;\n      pbVar24 = (byte *)0x0;\n      pbVar13 = pbVar13 + 1;\n      do {\n        param_2 = pbVar13;\n        switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar13 = param_2;\n      } while (iVar9 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar18 = '\0';\nLAB_0013e9c2:\n      uVar12 = (uint)pbVar24;\n      pcVar34 = "s";\n      iVar29 = 0;\n      iVar31 = 100;\n      while (iVar31 != iVar9) {\n        iVar29 = iVar29 + 1;\n        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;\n        cVar33 = *pcVar34;\n        pcVar34 = pcVar34 + 6;\n        iVar31 = (int)cVar33;\n      }\n      lVar30 = (long)iVar29;\n      cVar33 = (&DAT_001f5563)[lVar30 * 6];\n      switch(cVar33) {\n      case '\0':\n      case '\x0f':\n        bVar36 = 0;\n      case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;\n      case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar7 = param_2[1];\njoined_r0x0013ebb8:\n      param_2 = param_2 + 1;\n    } while (bVar7 != 0);" (do "do") (compound_statement "{\n      pbVar13 = param_2;\n      if (bVar7 != 0x25) {\n        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);\n        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);\n        pbVar38 = param_2;\n        if (*pbVar13 == 0) break;\n      }\n      iVar9 = (int)(char)pbVar13[1];\n      if (pbVar13[1] == 0) {\n        FUN_0013e580(param_1,&DAT_001e9c91,1);\n        break;\n      }\n      bVar39 = false;\n      uVar10 = 0xffffffff;\n      bVar36 = 0;\n      bVar25 = 0;\n      bVar5 = false;\n      bVar35 = 0;\n      bVar7 = 0;\n      pbVar24 = (byte *)0x0;\n      pbVar13 = pbVar13 + 1;\n      do {\n        param_2 = pbVar13;\n        switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar13 = param_2;\n      } while (iVar9 != 0);\nswitchD_0013e8bf_caseD_22:\n      cVar18 = '\0';\nLAB_0013e9c2:\n      uVar12 = (uint)pbVar24;\n      pcVar34 = "s";\n      iVar29 = 0;\n      iVar31 = 100;\n      while (iVar31 != iVar9) {\n        iVar29 = iVar29 + 1;\n        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;\n        cVar33 = *pcVar34;\n        pcVar34 = pcVar34 + 6;\n        iVar31 = (int)cVar33;\n      }\n      lVar30 = (long)iVar29;\n      cVar33 = (&DAT_001f5563)[lVar30 * 6];\n      switch(cVar33) {\n      case '\0':\n      case '\x0f':\n        bVar36 = 0;\n      case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;\n      case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }\n      bVar7 = param_2[1];\njoined_r0x0013ebb8:\n      param_2 = param_2 + 1;\n    }" ({ "{") (expression_statement "pbVar13 = param_2;" (assignment_expression "pbVar13 = param_2" (identifier "pbVar13") (= "=") (identifier "param_2")) (; ";")) (if_statement "if (bVar7 != 0x25) {\n        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);\n        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);\n        pbVar38 = param_2;\n        if (*pbVar13 == 0) break;\n      }" (if "if") (parenthesized_expression "(bVar7 != 0x25)" (( "(") (binary_expression "bVar7 != 0x25" (identifier "bVar7") (!= "!=") (number_literal "0x25")) () ")")) (compound_statement "{\n        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);\n        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);\n        pbVar38 = param_2;\n        if (*pbVar13 == 0) break;\n      }" ({ "{") (expression_statement "pbVar13 = (byte *)strchrnul((char *)param_2,0x25);" (assignment_expression "pbVar13 = (byte *)strchrnul((char *)param_2,0x25)" (identifier "pbVar13") (= "=") (cast_expression "(byte *)strchrnul((char *)param_2,0x25)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "strchrnul((char *)param_2,0x25)" (identifier "strchrnul") (argument_list "((char *)param_2,0x25)" (( "(") (cast_expression "(char *)param_2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_2")) (, ",") (number_literal "0x25") () ")"))))) (; ";")) (expression_statement "FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);" (call_expression "FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2)" (identifier "FUN_0013e580") (argument_list "(param_1,param_2,(long)pbVar13 - (long)param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (binary_expression "(long)pbVar13 - (long)param_2" (cast_expression "(long)pbVar13" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pbVar13")) (- "-") (cast_expression "(long)param_2" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_2"))) () ")"))) (; ";")) (expression_statement "pbVar38 = param_2;" (assignment_expression "pbVar38 = param_2" (identifier "pbVar38") (= "=") (identifier "param_2")) (; ";")) (if_statement "if (*pbVar13 == 0) break;" (if "if") (parenthesized_expression "(*pbVar13 == 0)" (( "(") (binary_expression "*pbVar13 == 0" (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")) (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}"))) (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" (identifier "iVar9") (= "=") (cast_expression "(int)(char)pbVar13[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)pbVar13[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pbVar13[1]" (identifier "pbVar13") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (if_statement "if (pbVar13[1] == 0) {\n        FUN_0013e580(param_1,&DAT_001e9c91,1);\n        break;\n      }" (if "if") (parenthesized_expression "(pbVar13[1] == 0)" (( "(") (binary_expression "pbVar13[1] == 0" (subscript_expression "pbVar13[1]" (identifier "pbVar13") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        FUN_0013e580(param_1,&DAT_001e9c91,1);\n        break;\n      }" ({ "{") (expression_statement "FUN_0013e580(param_1,&DAT_001e9c91,1);" (call_expression "FUN_0013e580(param_1,&DAT_001e9c91,1)" (identifier "FUN_0013e580") (argument_list "(param_1,&DAT_001e9c91,1)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&DAT_001e9c91" (& "&") (identifier "DAT_001e9c91")) (, ",") (number_literal "1") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "bVar39 = false;" (assignment_expression "bVar39 = false" (identifier "bVar39") (= "=") (false "false")) (; ";")) (expression_statement "uVar10 = 0xffffffff;" (assignment_expression "uVar10 = 0xffffffff" (identifier "uVar10") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" (identifier "bVar36") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar25 = 0;" (assignment_expression "bVar25 = 0" (identifier "bVar25") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" (identifier "bVar5") (= "=") (false "false")) (; ";")) (expression_statement "bVar35 = 0;" (assignment_expression "bVar35 = 0" (identifier "bVar35") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar7 = 0;" (assignment_expression "bVar7 = 0" (identifier "bVar7") (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar24 = (byte *)0x0;" (assignment_expression "pbVar24 = (byte *)0x0" (identifier "pbVar24") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pbVar13 = pbVar13 + 1;" (assignment_expression "pbVar13 = pbVar13 + 1" (identifier "pbVar13") (= "=") (binary_expression "pbVar13 + 1" (identifier "pbVar13") (+ "+") (number_literal "1"))) (; ";")) (do_statement "do {\n        param_2 = pbVar13;\n        switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar13 = param_2;\n      } while (iVar9 != 0);" (do "do") (compound_statement "{\n        param_2 = pbVar13;\n        switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }\n        pbVar13 = param_2;\n      }" ({ "{") (expression_statement "param_2 = pbVar13;" (assignment_expression "param_2 = pbVar13" (identifier "param_2") (= "=") (identifier "pbVar13")) (; ";")) (switch_statement "switch(iVar9) {\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }" (switch "switch") (parenthesized_expression "(iVar9)" (( "(") (identifier "iVar9") () ")")) (compound_statement "{\n        case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        default:\n          goto switchD_0013e8bf_caseD_22;\n        case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;\n        case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;\n        case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;\n        case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;\n        }" ({ "{") (case_statement "case 0x20:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x20;\n          param_2 = pbVar13 + 1;\n          break;" (case "case") (number_literal "0x20") (: ":") (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" (identifier "iVar9") (= "=") (cast_expression "(int)(char)pbVar13[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)pbVar13[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pbVar13[1]" (identifier "pbVar13") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (expression_statement "bVar7 = 0x20;" (assignment_expression "bVar7 = 0x20" (identifier "bVar7") (= "=") (number_literal "0x20")) (; ";")) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" (identifier "param_2") (= "=") (binary_expression "pbVar13 + 1" (identifier "pbVar13") (+ "+") (number_literal "1"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x21:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar25 = 1;\n          param_2 = pbVar13 + 1;\n          break;" (case "case") (number_literal "0x21") (: ":") (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" (identifier "iVar9") (= "=") (cast_expression "(int)(char)pbVar13[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)pbVar13[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pbVar13[1]" (identifier "pbVar13") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (expression_statement "bVar25 = 1;" (assignment_expression "bVar25 = 1" (identifier "bVar25") (= "=") (number_literal "1")) (; ";")) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" (identifier "param_2") (= "=") (binary_expression "pbVar13 + 1" (identifier "pbVar13") (+ "+") (number_literal "1"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n          goto switchD_0013e8bf_caseD_22;" (default "default") (: ":") (goto_statement "goto switchD_0013e8bf_caseD_22;" (goto "goto") (statement_identifier "switchD_0013e8bf_caseD_22") (; ";"))) (case_statement "case 0x23:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar35 = 1;\n          param_2 = pbVar13 + 1;\n          break;" (case "case") (number_literal "0x23") (: ":") (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" (identifier "iVar9") (= "=") (cast_expression "(int)(char)pbVar13[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)pbVar13[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pbVar13[1]" (identifier "pbVar13") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (expression_statement "bVar35 = 1;" (assignment_expression "bVar35 = 1" (identifier "bVar35") (= "=") (number_literal "1")) (; ";")) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" (identifier "param_2") (= "=") (binary_expression "pbVar13 + 1" (identifier "pbVar13") (+ "+") (number_literal "1"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x2a:\n          if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }\n          pbVar24 = (byte *)(ulong)uVar12;\n          if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }\n          break;" (case "case") (number_literal "0x2a") (: ":") (if_statement "if (local_b6 == 0) {\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }\n          else {\n            uVar12 = FUN_001203a0();\n          }" (if "if") (parenthesized_expression "(local_b6 == 0)" (( "(") (binary_expression "local_b6 == 0" (identifier "local_b6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar12 = *param_3;\n            if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }\n            uVar12 = *puVar32;\n          }" ({ "{") (expression_statement "uVar12 = *param_3;" (assignment_expression "uVar12 = *param_3" (identifier "uVar12") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (if_statement "if (uVar12 < 0x30) {\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }\n            else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }" (if "if") (parenthesized_expression "(uVar12 < 0x30)" (( "(") (binary_expression "uVar12 < 0x30" (identifier "uVar12") (< "<") (number_literal "0x30")) () ")")) (compound_statement "{\n              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));\n              *param_3 = uVar12 + 8;\n            }" ({ "{") (expression_statement "puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));" (assignment_expression "puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4))" (identifier "puVar32") (= "=") (cast_expression "(uint *)((ulong)uVar12 + *(long *)(param_3 + 4))" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)uVar12 + *(long *)(param_3 + 4))" (( "(") (binary_expression "(ulong)uVar12 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar12" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar12")) (+ "+") (pointer_expression "*(long *)(param_3 + 4)" (* "*") (cast_expression "(long *)(param_3 + 4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 4)" (( "(") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4")) () ")"))))) () ")")))) (; ";")) (expression_statement "*param_3 = uVar12 + 8;" (assignment_expression "*param_3 = uVar12 + 8" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "uVar12 + 8" (identifier "uVar12") (+ "+") (number_literal "8"))) (; ";")) (} "}")) (else_clause "else {\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }" (else "else") (compound_statement "{\n              puVar32 = *(uint **)(param_3 + 2);\n              *(uint **)(param_3 + 2) = puVar32 + 2;\n            }" ({ "{") (expression_statement "puVar32 = *(uint **)(param_3 + 2);" (assignment_expression "puVar32 = *(uint **)(param_3 + 2)" (identifier "puVar32") (= "=") (pointer_expression "*(uint **)(param_3 + 2)" (* "*") (cast_expression "(uint **)(param_3 + 2)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "*(uint **)(param_3 + 2) = puVar32 + 2;" (assignment_expression "*(uint **)(param_3 + 2) = puVar32 + 2" (pointer_expression "*(uint **)(param_3 + 2)" (* "*") (cast_expression "(uint **)(param_3 + 2)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "puVar32 + 2" (identifier "puVar32") (+ "+") (number_literal "2"))) (; ";")) (} "}")))) (expression_statement "uVar12 = *puVar32;" (assignment_expression "uVar12 = *puVar32" (identifier "uVar12") (= "=") (pointer_expression "*puVar32" (* "*") (identifier "puVar32"))) (; ";")) (} "}")) (else_clause "else {\n            uVar12 = FUN_001203a0();\n          }" (else "else") (compound_statement "{\n            uVar12 = FUN_001203a0();\n          }" ({ "{") (expression_statement "uVar12 = FUN_001203a0();" (assignment_expression "uVar12 = FUN_001203a0()" (identifier "uVar12") (= "=") (call_expression "FUN_001203a0()" (identifier "FUN_001203a0") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")))) (expression_statement "pbVar24 = (byte *)(ulong)uVar12;" (assignment_expression "pbVar24 = (byte *)(ulong)uVar12" (identifier "pbVar24") (= "=") (cast_expression "(byte *)(ulong)uVar12" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(ulong)uVar12" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar12")))) (; ";")) (if_statement "if ((int)uVar12 < 0) {\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }" (if "if") (parenthesized_expression "((int)uVar12 < 0)" (( "(") (binary_expression "(int)uVar12 < 0" (cast_expression "(int)uVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar12")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }\n          }" ({ "{") (if_statement "if (uVar12 == 0x80000000) {\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }" (if "if") (parenthesized_expression "(uVar12 == 0x80000000)" (( "(") (binary_expression "uVar12 == 0x80000000" (identifier "uVar12") (== "==") (number_literal "0x80000000")) () ")")) (compound_statement "{\n              bVar5 = true;\n              pbVar24 = (byte *)0x0;\n            }" ({ "{") (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" (identifier "bVar5") (= "=") (true "true")) (; ";")) (expression_statement "pbVar24 = (byte *)0x0;" (assignment_expression "pbVar24 = (byte *)0x0" (identifier "pbVar24") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }" (else "else") (compound_statement "{\n              pbVar24 = (byte *)(ulong)-uVar12;\n              bVar5 = true;\n            }" ({ "{") (expression_statement "pbVar24 = (byte *)(ulong)-uVar12;" (assignment_expression "pbVar24 = (byte *)(ulong)-uVar12" (identifier "pbVar24") (= "=") (binary_expression "(byte *)(ulong)-uVar12" (cast_expression "(byte *)(ulong)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")"))) (- "-") (identifier "uVar12"))) (; ";")) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" (identifier "bVar5") (= "=") (true "true")) (; ";")) (} "}")))) (} "}"))) (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" (identifier "iVar9") (= "=") (cast_expression "(int)(char)pbVar13[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)pbVar13[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pbVar13[1]" (identifier "pbVar13") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" (identifier "param_2") (= "=") (binary_expression "pbVar13 + 1" (identifier "pbVar13") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }" (if "if") (parenthesized_expression "((iVar9 != 0x6c) && (iVar9 != 0x2e))" (( "(") (binary_expression "(iVar9 != 0x6c) && (iVar9 != 0x2e)" (parenthesized_expression "(iVar9 != 0x6c)" (( "(") (binary_expression "iVar9 != 0x6c" (identifier "iVar9") (!= "!=") (number_literal "0x6c")) () ")")) (&& "&&") (parenthesized_expression "(iVar9 != 0x2e)" (( "(") (binary_expression "iVar9 != 0x2e" (identifier "iVar9") (!= "!=") (number_literal "0x2e")) () ")"))) () ")")) (compound_statement "{\n            cVar18 = '\0';\n            goto LAB_0013e9c2;\n          }" ({ "{") (expression_statement "cVar18 = '\0';" (assignment_expression "cVar18 = '\0'" (identifier "cVar18") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (goto_statement "goto LAB_0013e9c2;" (goto "goto") (statement_identifier "LAB_0013e9c2") (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x2b:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar7 = 0x2b;\n          param_2 = pbVar13 + 1;\n          break;" (case "case") (number_literal "0x2b") (: ":") (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" (identifier "iVar9") (= "=") (cast_expression "(int)(char)pbVar13[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)pbVar13[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pbVar13[1]" (identifier "pbVar13") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (expression_statement "bVar7 = 0x2b;" (assignment_expression "bVar7 = 0x2b" (identifier "bVar7") (= "=") (number_literal "0x2b")) (; ";")) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" (identifier "param_2") (= "=") (binary_expression "pbVar13 + 1" (identifier "pbVar13") (+ "+") (number_literal "1"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x2c:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar36 = 0x2c;\n          param_2 = pbVar13 + 1;\n          break;" (case "case") (number_literal "0x2c") (: ":") (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" (identifier "iVar9") (= "=") (cast_expression "(int)(char)pbVar13[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)pbVar13[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pbVar13[1]" (identifier "pbVar13") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (expression_statement "bVar36 = 0x2c;" (assignment_expression "bVar36 = 0x2c" (identifier "bVar36") (= "=") (number_literal "0x2c")) (; ";")) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" (identifier "param_2") (= "=") (binary_expression "pbVar13 + 1" (identifier "pbVar13") (+ "+") (number_literal "1"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x2d:\n          bVar5 = true;\n          iVar9 = (int)(char)pbVar13[1];\n          param_2 = pbVar13 + 1;\n          break;" (case "case") (number_literal "0x2d") (: ":") (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" (identifier "bVar5") (= "=") (true "true")) (; ";")) (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" (identifier "iVar9") (= "=") (cast_expression "(int)(char)pbVar13[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)pbVar13[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pbVar13[1]" (identifier "pbVar13") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" (identifier "param_2") (= "=") (binary_expression "pbVar13 + 1" (identifier "pbVar13") (+ "+") (number_literal "1"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x2e:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }\n          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;\n          iVar9 = (int)(char)*param_2;\n          break;" (case "case") (number_literal "0x2e") (: ":") (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" (identifier "iVar9") (= "=") (cast_expression "(int)(char)pbVar13[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)pbVar13[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pbVar13[1]" (identifier "pbVar13") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (if_statement "if (iVar9 == 0x2a) {\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }" (if "if") (parenthesized_expression "(iVar9 == 0x2a)" (( "(") (binary_expression "iVar9 == 0x2a" (identifier "iVar9") (== "==") (number_literal "0x2a")) () ")")) (compound_statement "{\n            if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }\n            uVar10 = uVar12;\n            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }\n            iVar9 = (int)(char)pbVar13[2];\n            param_2 = pbVar13 + 2;\n          }" ({ "{") (if_statement "if (local_b6 == 0) {\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }\n            else {\n              uVar12 = FUN_001203a0();\n            }" (if "if") (parenthesized_expression "(local_b6 == 0)" (( "(") (binary_expression "local_b6 == 0" (identifier "local_b6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              uVar10 = *param_3;\n              if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar12 = *puVar32;\n            }" ({ "{") (expression_statement "uVar10 = *param_3;" (assignment_expression "uVar10 = *param_3" (identifier "uVar10") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (if_statement "if (uVar10 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }" (if "if") (parenthesized_expression "(uVar10 < 0x30)" (( "(") (binary_expression "uVar10 < 0x30" (identifier "uVar10") (< "<") (number_literal "0x30")) () ")")) (compound_statement "{\n                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));\n                *param_3 = uVar10 + 8;\n              }" ({ "{") (expression_statement "puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));" (assignment_expression "puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4))" (identifier "puVar32") (= "=") (cast_expression "(uint *)((ulong)uVar10 + *(long *)(param_3 + 4))" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)uVar10 + *(long *)(param_3 + 4))" (( "(") (binary_expression "(ulong)uVar10 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar10" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar10")) (+ "+") (pointer_expression "*(long *)(param_3 + 4)" (* "*") (cast_expression "(long *)(param_3 + 4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 4)" (( "(") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4")) () ")"))))) () ")")))) (; ";")) (expression_statement "*param_3 = uVar10 + 8;" (assignment_expression "*param_3 = uVar10 + 8" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "uVar10 + 8" (identifier "uVar10") (+ "+") (number_literal "8"))) (; ";")) (} "}")) (else_clause "else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }" (else "else") (compound_statement "{\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }" ({ "{") (expression_statement "puVar32 = *(uint **)(param_3 + 2);" (assignment_expression "puVar32 = *(uint **)(param_3 + 2)" (identifier "puVar32") (= "=") (pointer_expression "*(uint **)(param_3 + 2)" (* "*") (cast_expression "(uint **)(param_3 + 2)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "*(uint **)(param_3 + 2) = puVar32 + 2;" (assignment_expression "*(uint **)(param_3 + 2) = puVar32 + 2" (pointer_expression "*(uint **)(param_3 + 2)" (* "*") (cast_expression "(uint **)(param_3 + 2)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "puVar32 + 2" (identifier "puVar32") (+ "+") (number_literal "2"))) (; ";")) (} "}")))) (expression_statement "uVar12 = *puVar32;" (assignment_expression "uVar12 = *puVar32" (identifier "uVar12") (= "=") (pointer_expression "*puVar32" (* "*") (identifier "puVar32"))) (; ";")) (} "}")) (else_clause "else {\n              uVar12 = FUN_001203a0();\n            }" (else "else") (compound_statement "{\n              uVar12 = FUN_001203a0();\n            }" ({ "{") (expression_statement "uVar12 = FUN_001203a0();" (assignment_expression "uVar12 = FUN_001203a0()" (identifier "uVar12") (= "=") (call_expression "FUN_001203a0()" (identifier "FUN_001203a0") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")))) (expression_statement "uVar10 = uVar12;" (assignment_expression "uVar10 = uVar12" (identifier "uVar10") (= "=") (identifier "uVar12")) (; ";")) (if_statement "if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {\n              uVar10 = 0xffffffff;\n            }" (if "if") (parenthesized_expression "(((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000))" (( "(") (binary_expression "((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)" (parenthesized_expression "((int)uVar12 < 0)" (( "(") (binary_expression "(int)uVar12 < 0" (cast_expression "(int)uVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar12")) (< "<") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar10 = -uVar12, uVar12 == 0x80000000)" (( "(") (comma_expression "uVar10 = -uVar12, uVar12 == 0x80000000" (assignment_expression "uVar10 = -uVar12" (identifier "uVar10") (= "=") (unary_expression "-uVar12" (- "-") (identifier "uVar12"))) (, ",") (binary_expression "uVar12 == 0x80000000" (identifier "uVar12") (== "==") (number_literal "0x80000000"))) () ")"))) () ")")) (compound_statement "{\n              uVar10 = 0xffffffff;\n            }" ({ "{") (expression_statement "uVar10 = 0xffffffff;" (assignment_expression "uVar10 = 0xffffffff" (identifier "uVar10") (= "=") (number_literal "0xffffffff")) (; ";")) (} "}"))) (expression_statement "iVar9 = (int)(char)pbVar13[2];" (assignment_expression "iVar9 = (int)(char)pbVar13[2]" (identifier "iVar9") (= "=") (cast_expression "(int)(char)pbVar13[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)pbVar13[2]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pbVar13[2]" (identifier "pbVar13") ([ "[") (number_literal "2") (] "]"))))) (; ";")) (expression_statement "param_2 = pbVar13 + 2;" (assignment_expression "param_2 = pbVar13 + 2" (identifier "param_2") (= "=") (binary_expression "pbVar13 + 2" (identifier "pbVar13") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }" (else "else") (compound_statement "{\n            param_2 = pbVar13 + 1;\n            uVar10 = 0;\n            if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }\n          }" ({ "{") (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" (identifier "param_2") (= "=") (binary_expression "pbVar13 + 1" (identifier "pbVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar9 - 0x30U < 10) {\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }" (if "if") (parenthesized_expression "(iVar9 - 0x30U < 10)" (( "(") (binary_expression "iVar9 - 0x30U < 10" (binary_expression "iVar9 - 0x30U" (identifier "iVar9") (- "-") (number_literal "0x30U")) (< "<") (number_literal "10")) () ")")) (compound_statement "{\n              do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);\n              uVar10 = uVar10 & 0x7fffffff;\n            }" ({ "{") (do_statement "do {\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              } while (iVar9 - 0x30U < 10);" (do "do") (compound_statement "{\n                param_2 = param_2 + 1;\n                uVar10 = iVar9 + -0x30 + uVar10 * 10;\n                iVar9 = (int)(char)*param_2;\n              }" ({ "{") (expression_statement "param_2 = param_2 + 1;" (assignment_expression "param_2 = param_2 + 1" (identifier "param_2") (= "=") (binary_expression "param_2 + 1" (identifier "param_2") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar10 = iVar9 + -0x30 + uVar10 * 10;" (assignment_expression "uVar10 = iVar9 + -0x30 + uVar10 * 10" (identifier "uVar10") (= "=") (binary_expression "iVar9 + -0x30 + uVar10 * 10" (binary_expression "iVar9 + -0x30" (identifier "iVar9") (+ "+") (number_literal "-0x30")) (+ "+") (binary_expression "uVar10 * 10" (identifier "uVar10") (* "*") (number_literal "10")))) (; ";")) (expression_statement "iVar9 = (int)(char)*param_2;" (assignment_expression "iVar9 = (int)(char)*param_2" (identifier "iVar9") (= "=") (cast_expression "(int)(char)*param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)*param_2" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar9 - 0x30U < 10)" (( "(") (binary_expression "iVar9 - 0x30U < 10" (binary_expression "iVar9 - 0x30U" (identifier "iVar9") (- "-") (number_literal "0x30U")) (< "<") (number_literal "10")) () ")")) (; ";")) (expression_statement "uVar10 = uVar10 & 0x7fffffff;" (assignment_expression "uVar10 = uVar10 & 0x7fffffff" (identifier "uVar10") (= "=") (binary_expression "uVar10 & 0x7fffffff" (identifier "uVar10") (& "&") (number_literal "0x7fffffff"))) (; ";")) (} "}"))) (} "}")))) (if_statement "if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;" (if "if") (parenthesized_expression "(iVar9 != 0x6c)" (( "(") (binary_expression "iVar9 != 0x6c" (identifier "iVar9") (!= "!=") (number_literal "0x6c")) () ")")) (goto_statement "goto switchD_0013e8bf_caseD_22;" (goto "goto") (statement_identifier "switchD_0013e8bf_caseD_22") (; ";"))) (expression_statement "iVar9 = (int)(char)*param_2;" (assignment_expression "iVar9 = (int)(char)*param_2" (identifier "iVar9") (= "=") (cast_expression "(int)(char)*param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)*param_2" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2"))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x30:\n          iVar9 = (int)(char)pbVar13[1];\n          bVar39 = true;\n          param_2 = pbVar13 + 1;\n          break;" (case "case") (number_literal "0x30") (: ":") (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" (identifier "iVar9") (= "=") (cast_expression "(int)(char)pbVar13[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)pbVar13[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pbVar13[1]" (identifier "pbVar13") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (expression_statement "bVar39 = true;" (assignment_expression "bVar39 = true" (identifier "bVar39") (= "=") (true "true")) (; ";")) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" (identifier "param_2") (= "=") (binary_expression "pbVar13 + 1" (identifier "pbVar13") (+ "+") (number_literal "1"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x31:" (case "case") (number_literal "0x31") (: ":")) (case_statement "case 0x32:" (case "case") (number_literal "0x32") (: ":")) (case_statement "case 0x33:" (case "case") (number_literal "0x33") (: ":")) (case_statement "case 0x34:" (case "case") (number_literal "0x34") (: ":")) (case_statement "case 0x35:" (case "case") (number_literal "0x35") (: ":")) (case_statement "case 0x36:" (case "case") (number_literal "0x36") (: ":")) (case_statement "case 0x37:" (case "case") (number_literal "0x37") (: ":")) (case_statement "case 0x38:" (case "case") (number_literal "0x38") (: ":")) (case_statement "case 0x39:\n          iVar29 = (int)(char)pbVar13[1];\n          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);\n          param_2 = pbVar13 + 1;\n          iVar9 = iVar29;\n          if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }\n          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;\n          param_2 = pbVar13 + 1;\n          iVar9 = (int)(char)pbVar13[1];\n          break;" (case "case") (number_literal "0x39") (: ":") (expression_statement "iVar29 = (int)(char)pbVar13[1];" (assignment_expression "iVar29 = (int)(char)pbVar13[1]" (identifier "iVar29") (= "=") (cast_expression "(int)(char)pbVar13[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)pbVar13[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pbVar13[1]" (identifier "pbVar13") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (expression_statement "pbVar24 = (byte *)(ulong)(iVar9 - 0x30);" (assignment_expression "pbVar24 = (byte *)(ulong)(iVar9 - 0x30)" (identifier "pbVar24") (= "=") (cast_expression "(byte *)(ulong)(iVar9 - 0x30)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(ulong)(iVar9 - 0x30)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(iVar9 - 0x30)" (( "(") (binary_expression "iVar9 - 0x30" (identifier "iVar9") (- "-") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" (identifier "param_2") (= "=") (binary_expression "pbVar13 + 1" (identifier "pbVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar9 = iVar29;" (assignment_expression "iVar9 = iVar29" (identifier "iVar9") (= "=") (identifier "iVar29")) (; ";")) (if_statement "if (iVar29 - 0x30U < 10) {\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }" (if "if") (parenthesized_expression "(iVar29 - 0x30U < 10)" (( "(") (binary_expression "iVar29 - 0x30U < 10" (binary_expression "iVar29 - 0x30U" (identifier "iVar29") (- "-") (number_literal "0x30U")) (< "<") (number_literal "10")) () ")")) (compound_statement "{\n            do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);\n            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);\n            iVar9 = iVar29;\n          }" ({ "{") (do_statement "do {\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            } while (iVar29 - 0x30U < 10);" (do "do") (compound_statement "{\n              pbVar13 = param_2;\n              param_2 = pbVar13 + 1;\n              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;\n              pbVar24 = (byte *)(ulong)uVar12;\n              iVar29 = (int)(char)pbVar13[1];\n            }" ({ "{") (expression_statement "pbVar13 = param_2;" (assignment_expression "pbVar13 = param_2" (identifier "pbVar13") (= "=") (identifier "param_2")) (; ";")) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" (identifier "param_2") (= "=") (binary_expression "pbVar13 + 1" (identifier "pbVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;" (assignment_expression "uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10" (identifier "uVar12") (= "=") (binary_expression "iVar29 + -0x30 + (int)pbVar24 * 10" (binary_expression "iVar29 + -0x30" (identifier "iVar29") (+ "+") (number_literal "-0x30")) (+ "+") (binary_expression "(int)pbVar24 * 10" (cast_expression "(int)pbVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar24")) (* "*") (number_literal "10")))) (; ";")) (expression_statement "pbVar24 = (byte *)(ulong)uVar12;" (assignment_expression "pbVar24 = (byte *)(ulong)uVar12" (identifier "pbVar24") (= "=") (cast_expression "(byte *)(ulong)uVar12" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(ulong)uVar12" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar12")))) (; ";")) (expression_statement "iVar29 = (int)(char)pbVar13[1];" (assignment_expression "iVar29 = (int)(char)pbVar13[1]" (identifier "iVar29") (= "=") (cast_expression "(int)(char)pbVar13[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)pbVar13[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pbVar13[1]" (identifier "pbVar13") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar29 - 0x30U < 10)" (( "(") (binary_expression "iVar29 - 0x30U < 10" (binary_expression "iVar29 - 0x30U" (identifier "iVar29") (- "-") (number_literal "0x30U")) (< "<") (number_literal "10")) () ")")) (; ";")) (expression_statement "pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);" (assignment_expression "pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff)" (identifier "pbVar24") (= "=") (cast_expression "(byte *)(ulong)(uVar12 & 0x7fffffff)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(ulong)(uVar12 & 0x7fffffff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar12 & 0x7fffffff)" (( "(") (binary_expression "uVar12 & 0x7fffffff" (identifier "uVar12") (& "&") (number_literal "0x7fffffff")) () ")"))))) (; ";")) (expression_statement "iVar9 = iVar29;" (assignment_expression "iVar9 = iVar29" (identifier "iVar9") (= "=") (identifier "iVar29")) (; ";")) (} "}"))) (if_statement "if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;" (if "if") (parenthesized_expression "((iVar9 != 0x2e) && (iVar9 != 0x6c))" (( "(") (binary_expression "(iVar9 != 0x2e) && (iVar9 != 0x6c)" (parenthesized_expression "(iVar9 != 0x2e)" (( "(") (binary_expression "iVar9 != 0x2e" (identifier "iVar9") (!= "!=") (number_literal "0x2e")) () ")")) (&& "&&") (parenthesized_expression "(iVar9 != 0x6c)" (( "(") (binary_expression "iVar9 != 0x6c" (identifier "iVar9") (!= "!=") (number_literal "0x6c")) () ")"))) () ")")) (goto_statement "goto switchD_0013e8bf_caseD_22;" (goto "goto") (statement_identifier "switchD_0013e8bf_caseD_22") (; ";"))) (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" (identifier "param_2") (= "=") (binary_expression "pbVar13 + 1" (identifier "pbVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" (identifier "iVar9") (= "=") (cast_expression "(int)(char)pbVar13[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)pbVar13[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pbVar13[1]" (identifier "pbVar13") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x6c:\n          iVar9 = (int)(char)pbVar13[1];\n          if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }\n          goto LAB_0013e9c2;" (case "case") (number_literal "0x6c") (: ":") (expression_statement "iVar9 = (int)(char)pbVar13[1];" (assignment_expression "iVar9 = (int)(char)pbVar13[1]" (identifier "iVar9") (= "=") (cast_expression "(int)(char)pbVar13[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)pbVar13[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pbVar13[1]" (identifier "pbVar13") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (if_statement "if (iVar9 == 0x6c) {\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }\n          else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }" (if "if") (parenthesized_expression "(iVar9 == 0x6c)" (( "(") (binary_expression "iVar9 == 0x6c" (identifier "iVar9") (== "==") (number_literal "0x6c")) () ")")) (compound_statement "{\n            iVar9 = (int)(char)pbVar13[2];\n            cVar18 = '\x02';\n            param_2 = pbVar13 + 2;\n          }" ({ "{") (expression_statement "iVar9 = (int)(char)pbVar13[2];" (assignment_expression "iVar9 = (int)(char)pbVar13[2]" (identifier "iVar9") (= "=") (cast_expression "(int)(char)pbVar13[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)pbVar13[2]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pbVar13[2]" (identifier "pbVar13") ([ "[") (number_literal "2") (] "]"))))) (; ";")) (expression_statement "cVar18 = '\x02';" (assignment_expression "cVar18 = '\x02'" (identifier "cVar18") (= "=") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) (; ";")) (expression_statement "param_2 = pbVar13 + 2;" (assignment_expression "param_2 = pbVar13 + 2" (identifier "param_2") (= "=") (binary_expression "pbVar13 + 2" (identifier "pbVar13") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }" (else "else") (compound_statement "{\n            param_2 = pbVar13 + 1;\n            cVar18 = '\x01';\n          }" ({ "{") (expression_statement "param_2 = pbVar13 + 1;" (assignment_expression "param_2 = pbVar13 + 1" (identifier "param_2") (= "=") (binary_expression "pbVar13 + 1" (identifier "pbVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "cVar18 = '\x01';" (assignment_expression "cVar18 = '\x01'" (identifier "cVar18") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (} "}")))) (goto_statement "goto LAB_0013e9c2;" (goto "goto") (statement_identifier "LAB_0013e9c2") (; ";"))) (} "}"))) (expression_statement "pbVar13 = param_2;" (assignment_expression "pbVar13 = param_2" (identifier "pbVar13") (= "=") (identifier "param_2")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (; ";")) (labeled_statement "switchD_0013e8bf_caseD_22:\n      cVar18 = '\0';" (statement_identifier "switchD_0013e8bf_caseD_22") (: ":") (expression_statement "cVar18 = '\0';" (assignment_expression "cVar18 = '\0'" (identifier "cVar18") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";"))) (labeled_statement "LAB_0013e9c2:\n      uVar12 = (uint)pbVar24;" (statement_identifier "LAB_0013e9c2") (: ":") (expression_statement "uVar12 = (uint)pbVar24;" (assignment_expression "uVar12 = (uint)pbVar24" (identifier "uVar12") (= "=") (cast_expression "(uint)pbVar24" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pbVar24"))) (; ";"))) (expression_statement "pcVar34 = "s";" (assignment_expression "pcVar34 = "s"" (identifier "pcVar34") (= "=") (string_literal ""s"" (" """) (string_content "s") (" """))) (; ";")) (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" (identifier "iVar29") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar31 = 100;" (assignment_expression "iVar31 = 100" (identifier "iVar31") (= "=") (number_literal "100")) (; ";")) (while_statement "while (iVar31 != iVar9) {\n        iVar29 = iVar29 + 1;\n        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;\n        cVar33 = *pcVar34;\n        pcVar34 = pcVar34 + 6;\n        iVar31 = (int)cVar33;\n      }" (while "while") (parenthesized_expression "(iVar31 != iVar9)" (( "(") (binary_expression "iVar31 != iVar9" (identifier "iVar31") (!= "!=") (identifier "iVar9")) () ")")) (compound_statement "{\n        iVar29 = iVar29 + 1;\n        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;\n        cVar33 = *pcVar34;\n        pcVar34 = pcVar34 + 6;\n        iVar31 = (int)cVar33;\n      }" ({ "{") (expression_statement "iVar29 = iVar29 + 1;" (assignment_expression "iVar29 = iVar29 + 1" (identifier "iVar29") (= "=") (binary_expression "iVar29 + 1" (identifier "iVar29") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;" (if "if") (parenthesized_expression "(iVar29 == 0x17)" (( "(") (binary_expression "iVar29 == 0x17" (identifier "iVar29") (== "==") (number_literal "0x17")) () ")")) (goto_statement "goto switchD_0013ea21_caseD_11;" (goto "goto") (statement_identifier "switchD_0013ea21_caseD_11") (; ";"))) (expression_statement "cVar33 = *pcVar34;" (assignment_expression "cVar33 = *pcVar34" (identifier "cVar33") (= "=") (pointer_expression "*pcVar34" (* "*") (identifier "pcVar34"))) (; ";")) (expression_statement "pcVar34 = pcVar34 + 6;" (assignment_expression "pcVar34 = pcVar34 + 6" (identifier "pcVar34") (= "=") (binary_expression "pcVar34 + 6" (identifier "pcVar34") (+ "+") (number_literal "6"))) (; ";")) (expression_statement "iVar31 = (int)cVar33;" (assignment_expression "iVar31 = (int)cVar33" (identifier "iVar31") (= "=") (cast_expression "(int)cVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "cVar33"))) (; ";")) (} "}"))) (expression_statement "lVar30 = (long)iVar29;" (assignment_expression "lVar30 = (long)iVar29" (identifier "lVar30") (= "=") (cast_expression "(long)iVar29" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "iVar29"))) (; ";")) (expression_statement "cVar33 = (&DAT_001f5563)[lVar30 * 6];" (assignment_expression "cVar33 = (&DAT_001f5563)[lVar30 * 6]" (identifier "cVar33") (= "=") (subscript_expression "(&DAT_001f5563)[lVar30 * 6]" (parenthesized_expression "(&DAT_001f5563)" (( "(") (pointer_expression "&DAT_001f5563" (& "&") (identifier "DAT_001f5563")) () ")")) ([ "[") (binary_expression "lVar30 * 6" (identifier "lVar30") (* "*") (number_literal "6")) (] "]"))) (; ";")) (switch_statement "switch(cVar33) {\n      case '\0':\n      case '\x0f':\n        bVar36 = 0;\n      case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;\n      case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }" (switch "switch") (parenthesized_expression "(cVar33)" (( "(") (identifier "cVar33") () ")")) (compound_statement "{\n      case '\0':\n      case '\x0f':\n        bVar36 = 0;\n      case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;\n      case '\x01':\n      case '\x02':\n      case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;\n      case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;\n      case '\x05':\n      case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;\n      case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;\n      case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;\n      case '\t':\n      case '\n':\n      case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;\n      case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;\n      case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;\n      default:\n        goto switchD_0013ea21_caseD_11;\n      }" ({ "{") (case_statement "case '\0':" (case "case") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")) (: ":")) (case_statement "case '\x0f':\n        bVar36 = 0;" (case "case") (char_literal "'\x0f'" (' "'") (escape_sequence "\x0f") (' "'")) (: ":") (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" (identifier "bVar36") (= "=") (number_literal "0")) (; ";"))) (case_statement "case '\x10':\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }\n        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }\n        if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }\n        pbVar24 = pbVar13;\n        if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }\n        bVar25 = (&DAT_001f5564)[lVar30 * 6];\n        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];\n        do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);\n        uVar19 = (int)pbVar13 - (int)pbVar24;\n        pbVar38 = pbVar24;\n        if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }\n        if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }\n        if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }\n        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }\n        uVar10 = (int)pbVar13 - (int)pbVar38;\n        uVar37 = (ulong)uVar10;\n        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);\nLAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }\n        break;" (case "case") (char_literal "'\x10'" (' "'") (escape_sequence "\x10") (' "'")) (: ":") (if_statement "if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }\n        else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }" (if "if") (parenthesized_expression "(((&DAT_001f5562)[lVar30 * 6] & 1) == 0)" (( "(") (binary_expression "((&DAT_001f5562)[lVar30 * 6] & 1) == 0" (parenthesized_expression "((&DAT_001f5562)[lVar30 * 6] & 1)" (( "(") (binary_expression "(&DAT_001f5562)[lVar30 * 6] & 1" (subscript_expression "(&DAT_001f5562)[lVar30 * 6]" (parenthesized_expression "(&DAT_001f5562)" (( "(") (pointer_expression "&DAT_001f5562" (& "&") (identifier "DAT_001f5562")) () ")")) ([ "[") (binary_expression "lVar30 * 6" (identifier "lVar30") (* "*") (number_literal "6")) (] "]")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }\nLAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }\n        }" ({ "{") (if_statement "if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }\n          else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }" (if "if") (parenthesized_expression "(local_b6 == 0)" (( "(") (binary_expression "local_b6 == 0" (identifier "local_b6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }\n          }" ({ "{") (expression_statement "uVar19 = *param_3;" (assignment_expression "uVar19 = *param_3" (identifier "uVar19") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (if_statement "if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }\n            else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }" (if "if") (parenthesized_expression "(cVar18 == '\0')" (( "(") (binary_expression "cVar18 == '\0'" (identifier "cVar18") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }\n              uVar37 = (ulong)*puVar32;\n              bVar7 = 0;\n            }" ({ "{") (if_statement "if (uVar19 < 0x30) {\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }" (if "if") (parenthesized_expression "(uVar19 < 0x30)" (( "(") (binary_expression "uVar19 < 0x30" (identifier "uVar19") (< "<") (number_literal "0x30")) () ")")) (compound_statement "{\n                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }" ({ "{") (expression_statement "puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));" (assignment_expression "puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4))" (identifier "puVar32") (= "=") (cast_expression "(uint *)((ulong)uVar19 + *(long *)(param_3 + 4))" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)uVar19 + *(long *)(param_3 + 4))" (( "(") (binary_expression "(ulong)uVar19 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar19" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar19")) (+ "+") (pointer_expression "*(long *)(param_3 + 4)" (* "*") (cast_expression "(long *)(param_3 + 4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 4)" (( "(") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4")) () ")"))))) () ")")))) (; ";")) (expression_statement "*param_3 = uVar19 + 8;" (assignment_expression "*param_3 = uVar19 + 8" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "uVar19 + 8" (identifier "uVar19") (+ "+") (number_literal "8"))) (; ";")) (} "}")) (else_clause "else {\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }" (else "else") (compound_statement "{\n                puVar32 = *(uint **)(param_3 + 2);\n                *(uint **)(param_3 + 2) = puVar32 + 2;\n              }" ({ "{") (expression_statement "puVar32 = *(uint **)(param_3 + 2);" (assignment_expression "puVar32 = *(uint **)(param_3 + 2)" (identifier "puVar32") (= "=") (pointer_expression "*(uint **)(param_3 + 2)" (* "*") (cast_expression "(uint **)(param_3 + 2)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "*(uint **)(param_3 + 2) = puVar32 + 2;" (assignment_expression "*(uint **)(param_3 + 2) = puVar32 + 2" (pointer_expression "*(uint **)(param_3 + 2)" (* "*") (cast_expression "(uint **)(param_3 + 2)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "puVar32 + 2" (identifier "puVar32") (+ "+") (number_literal "2"))) (; ";")) (} "}")))) (expression_statement "uVar37 = (ulong)*puVar32;" (assignment_expression "uVar37 = (ulong)*puVar32" (identifier "uVar37") (= "=") (binary_expression "(ulong)*puVar32" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (identifier "puVar32"))) (; ";")) (expression_statement "bVar7 = 0;" (assignment_expression "bVar7 = 0" (identifier "bVar7") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }" (else "else") (compound_statement "{\nLAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              bVar7 = 0;\n            }" ({ "{") (labeled_statement "LAB_0013f48c:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }" (statement_identifier "LAB_0013f48c") (: ":") (if_statement "if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }" (if "if") (parenthesized_expression "(uVar19 < 0x30)" (( "(") (binary_expression "uVar19 < 0x30" (identifier "uVar19") (< "<") (number_literal "0x30")) () ")")) (compound_statement "{\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }" ({ "{") (expression_statement "puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));" (assignment_expression "puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4))" (identifier "puVar22") (= "=") (cast_expression "(ulong *)((ulong)uVar19 + *(long *)(param_3 + 4))" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)uVar19 + *(long *)(param_3 + 4))" (( "(") (binary_expression "(ulong)uVar19 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar19" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar19")) (+ "+") (pointer_expression "*(long *)(param_3 + 4)" (* "*") (cast_expression "(long *)(param_3 + 4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 4)" (( "(") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4")) () ")"))))) () ")")))) (; ";")) (expression_statement "*param_3 = uVar19 + 8;" (assignment_expression "*param_3 = uVar19 + 8" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "uVar19 + 8" (identifier "uVar19") (+ "+") (number_literal "8"))) (; ";")) (} "}")) (else_clause "else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }" (else "else") (compound_statement "{\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }" ({ "{") (expression_statement "puVar22 = *(ulong **)(param_3 + 2);" (assignment_expression "puVar22 = *(ulong **)(param_3 + 2)" (identifier "puVar22") (= "=") (pointer_expression "*(ulong **)(param_3 + 2)" (* "*") (cast_expression "(ulong **)(param_3 + 2)" (( "(") (type_descriptor "ulong **" (type_identifier "ulong") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "*(ulong **)(param_3 + 2) = puVar22 + 1;" (assignment_expression "*(ulong **)(param_3 + 2) = puVar22 + 1" (pointer_expression "*(ulong **)(param_3 + 2)" (* "*") (cast_expression "(ulong **)(param_3 + 2)" (( "(") (type_descriptor "ulong **" (type_identifier "ulong") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "puVar22 + 1" (identifier "puVar22") (+ "+") (number_literal "1"))) (; ";")) (} "}"))))) (expression_statement "uVar37 = *puVar22;" (assignment_expression "uVar37 = *puVar22" (identifier "uVar37") (= "=") (pointer_expression "*puVar22" (* "*") (identifier "puVar22"))) (; ";")) (expression_statement "bVar7 = 0;" (assignment_expression "bVar7 = 0" (identifier "bVar7") (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }" (else "else") (compound_statement "{\nLAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);\n            bVar7 = 0;\n          }" ({ "{") (labeled_statement "LAB_0013f695:\n            uVar37 = FUN_001203a0(local_d8);" (statement_identifier "LAB_0013f695") (: ":") (expression_statement "uVar37 = FUN_001203a0(local_d8);" (assignment_expression "uVar37 = FUN_001203a0(local_d8)" (identifier "uVar37") (= "=") (call_expression "FUN_001203a0(local_d8)" (identifier "FUN_001203a0") (argument_list "(local_d8)" (( "(") (identifier "local_d8") () ")")))) (; ";"))) (expression_statement "bVar7 = 0;" (assignment_expression "bVar7 = 0" (identifier "bVar7") (= "=") (number_literal "0")) (; ";")) (} "}")))) (labeled_statement "LAB_0013f51d:\n          if (uVar37 == 0) {\n            bVar35 = 0;\n          }" (statement_identifier "LAB_0013f51d") (: ":") (if_statement "if (uVar37 == 0) {\n            bVar35 = 0;\n          }" (if "if") (parenthesized_expression "(uVar37 == 0)" (( "(") (binary_expression "uVar37 == 0" (identifier "uVar37") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            bVar35 = 0;\n          }" ({ "{") (expression_statement "bVar35 = 0;" (assignment_expression "bVar35 = 0" (identifier "bVar35") (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }" (else "else") (compound_statement "{\n          if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }\nLAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);\n          if (-1 < (long)uVar37) goto LAB_0013f51d;\nLAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }\n        }" ({ "{") (if_statement "if (local_b6 == 0) {\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }" (if "if") (parenthesized_expression "(local_b6 == 0)" (( "(") (binary_expression "local_b6 == 0" (identifier "local_b6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar19 = *param_3;\n            if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }\n            goto LAB_0013f51d;\n          }" ({ "{") (expression_statement "uVar19 = *param_3;" (assignment_expression "uVar19 = *param_3" (identifier "uVar19") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (if_statement "if (cVar18 == '\0') {\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }\n            else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }" (if "if") (parenthesized_expression "(cVar18 == '\0')" (( "(") (binary_expression "cVar18 == '\0'" (identifier "cVar18") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }\n              uVar37 = (ulong)*piVar21;\n              if ((long)uVar37 < 0) goto LAB_0013eb61;\n            }" ({ "{") (if_statement "if (uVar19 < 0x30) {\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }" (if "if") (parenthesized_expression "(uVar19 < 0x30)" (( "(") (binary_expression "uVar19 < 0x30" (identifier "uVar19") (< "<") (number_literal "0x30")) () ")")) (compound_statement "{\n                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }" ({ "{") (expression_statement "piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));" (assignment_expression "piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4))" (identifier "piVar21") (= "=") (cast_expression "(int *)((ulong)uVar19 + *(long *)(param_3 + 4))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)uVar19 + *(long *)(param_3 + 4))" (( "(") (binary_expression "(ulong)uVar19 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar19" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar19")) (+ "+") (pointer_expression "*(long *)(param_3 + 4)" (* "*") (cast_expression "(long *)(param_3 + 4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 4)" (( "(") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4")) () ")"))))) () ")")))) (; ";")) (expression_statement "*param_3 = uVar19 + 8;" (assignment_expression "*param_3 = uVar19 + 8" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "uVar19 + 8" (identifier "uVar19") (+ "+") (number_literal "8"))) (; ";")) (} "}")) (else_clause "else {\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }" (else "else") (compound_statement "{\n                piVar21 = *(int **)(param_3 + 2);\n                *(int **)(param_3 + 2) = piVar21 + 2;\n              }" ({ "{") (expression_statement "piVar21 = *(int **)(param_3 + 2);" (assignment_expression "piVar21 = *(int **)(param_3 + 2)" (identifier "piVar21") (= "=") (pointer_expression "*(int **)(param_3 + 2)" (* "*") (cast_expression "(int **)(param_3 + 2)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "*(int **)(param_3 + 2) = piVar21 + 2;" (assignment_expression "*(int **)(param_3 + 2) = piVar21 + 2" (pointer_expression "*(int **)(param_3 + 2)" (* "*") (cast_expression "(int **)(param_3 + 2)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "piVar21 + 2" (identifier "piVar21") (+ "+") (number_literal "2"))) (; ";")) (} "}")))) (expression_statement "uVar37 = (ulong)*piVar21;" (assignment_expression "uVar37 = (ulong)*piVar21" (identifier "uVar37") (= "=") (binary_expression "(ulong)*piVar21" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (identifier "piVar21"))) (; ";")) (if_statement "if ((long)uVar37 < 0) goto LAB_0013eb61;" (if "if") (parenthesized_expression "((long)uVar37 < 0)" (( "(") (binary_expression "(long)uVar37 < 0" (cast_expression "(long)uVar37" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "uVar37")) (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_0013eb61;" (goto "goto") (statement_identifier "LAB_0013eb61") (; ";"))) (} "}")) (else_clause "else {\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }" (else "else") (compound_statement "{\nLAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }\n              uVar37 = *puVar22;\n              if ((long)uVar37 < 0) goto LAB_0013f180;\n            }" ({ "{") (labeled_statement "LAB_0013f15e:\n              if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }" (statement_identifier "LAB_0013f15e") (: ":") (if_statement "if (uVar19 < 0x30) {\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }\n              else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }" (if "if") (parenthesized_expression "(uVar19 < 0x30)" (( "(") (binary_expression "uVar19 < 0x30" (identifier "uVar19") (< "<") (number_literal "0x30")) () ")")) (compound_statement "{\n                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));\n                *param_3 = uVar19 + 8;\n              }" ({ "{") (expression_statement "puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));" (assignment_expression "puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4))" (identifier "puVar22") (= "=") (cast_expression "(ulong *)((ulong)uVar19 + *(long *)(param_3 + 4))" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)uVar19 + *(long *)(param_3 + 4))" (( "(") (binary_expression "(ulong)uVar19 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar19" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar19")) (+ "+") (pointer_expression "*(long *)(param_3 + 4)" (* "*") (cast_expression "(long *)(param_3 + 4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 4)" (( "(") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4")) () ")"))))) () ")")))) (; ";")) (expression_statement "*param_3 = uVar19 + 8;" (assignment_expression "*param_3 = uVar19 + 8" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "uVar19 + 8" (identifier "uVar19") (+ "+") (number_literal "8"))) (; ";")) (} "}")) (else_clause "else {\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }" (else "else") (compound_statement "{\n                puVar22 = *(ulong **)(param_3 + 2);\n                *(ulong **)(param_3 + 2) = puVar22 + 1;\n              }" ({ "{") (expression_statement "puVar22 = *(ulong **)(param_3 + 2);" (assignment_expression "puVar22 = *(ulong **)(param_3 + 2)" (identifier "puVar22") (= "=") (pointer_expression "*(ulong **)(param_3 + 2)" (* "*") (cast_expression "(ulong **)(param_3 + 2)" (( "(") (type_descriptor "ulong **" (type_identifier "ulong") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "*(ulong **)(param_3 + 2) = puVar22 + 1;" (assignment_expression "*(ulong **)(param_3 + 2) = puVar22 + 1" (pointer_expression "*(ulong **)(param_3 + 2)" (* "*") (cast_expression "(ulong **)(param_3 + 2)" (( "(") (type_descriptor "ulong **" (type_identifier "ulong") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "puVar22 + 1" (identifier "puVar22") (+ "+") (number_literal "1"))) (; ";")) (} "}"))))) (expression_statement "uVar37 = *puVar22;" (assignment_expression "uVar37 = *puVar22" (identifier "uVar37") (= "=") (pointer_expression "*puVar22" (* "*") (identifier "puVar22"))) (; ";")) (if_statement "if ((long)uVar37 < 0) goto LAB_0013f180;" (if "if") (parenthesized_expression "((long)uVar37 < 0)" (( "(") (binary_expression "(long)uVar37 < 0" (cast_expression "(long)uVar37" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "uVar37")) (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_0013f180;" (goto "goto") (statement_identifier "LAB_0013f180") (; ";"))) (} "}")))) (goto_statement "goto LAB_0013f51d;" (goto "goto") (statement_identifier "LAB_0013f51d") (; ";")) (} "}"))) (labeled_statement "LAB_0013f4cf:\n          uVar37 = FUN_001203a0(local_d8);" (statement_identifier "LAB_0013f4cf") (: ":") (expression_statement "uVar37 = FUN_001203a0(local_d8);" (assignment_expression "uVar37 = FUN_001203a0(local_d8)" (identifier "uVar37") (= "=") (call_expression "FUN_001203a0(local_d8)" (identifier "FUN_001203a0") (argument_list "(local_d8)" (( "(") (identifier "local_d8") () ")")))) (; ";"))) (if_statement "if (-1 < (long)uVar37) goto LAB_0013f51d;" (if "if") (parenthesized_expression "(-1 < (long)uVar37)" (( "(") (binary_expression "-1 < (long)uVar37" (number_literal "-1") (< "<") (cast_expression "(long)uVar37" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "uVar37"))) () ")")) (goto_statement "goto LAB_0013f51d;" (goto "goto") (statement_identifier "LAB_0013f51d") (; ";"))) (labeled_statement "LAB_0013f180:\n          if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }" (statement_identifier "LAB_0013f180") (: ":") (if_statement "if (uVar37 == 0x8000000000000000) {\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }\n          else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }" (if "if") (parenthesized_expression "(uVar37 == 0x8000000000000000)" (( "(") (binary_expression "uVar37 == 0x8000000000000000" (identifier "uVar37") (== "==") (number_literal "0x8000000000000000")) () ")")) (compound_statement "{\n            bVar7 = 0x2d;\n            uVar37 = 0x8000000000000000;\n          }" ({ "{") (expression_statement "bVar7 = 0x2d;" (assignment_expression "bVar7 = 0x2d" (identifier "bVar7") (= "=") (number_literal "0x2d")) (; ";")) (expression_statement "uVar37 = 0x8000000000000000;" (assignment_expression "uVar37 = 0x8000000000000000" (identifier "uVar37") (= "=") (number_literal "0x8000000000000000")) (; ";")) (} "}")) (else_clause "else {\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }" (else "else") (compound_statement "{\nLAB_0013eb61:\n            uVar37 = -uVar37;\n            bVar7 = 0x2d;\n          }" ({ "{") (labeled_statement "LAB_0013eb61:\n            uVar37 = -uVar37;" (statement_identifier "LAB_0013eb61") (: ":") (expression_statement "uVar37 = -uVar37;" (assignment_expression "uVar37 = -uVar37" (identifier "uVar37") (= "=") (unary_expression "-uVar37" (- "-") (identifier "uVar37"))) (; ";"))) (expression_statement "bVar7 = 0x2d;" (assignment_expression "bVar7 = 0x2d" (identifier "bVar7") (= "=") (number_literal "0x2d")) (; ";")) (} "}"))))) (} "}")))) (if_statement "if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {\n          uVar10 = uVar19;\n        }" (if "if") (parenthesized_expression "((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19))" (( "(") (binary_expression "(bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)" (parenthesized_expression "(bVar39)" (( "(") (identifier "bVar39") () ")")) (&& "&&") (parenthesized_expression "(uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)" (( "(") (comma_expression "uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19" (assignment_expression "uVar19 = uVar12 - (bVar7 != 0)" (identifier "uVar19") (= "=") (binary_expression "uVar12 - (bVar7 != 0)" (identifier "uVar12") (- "-") (parenthesized_expression "(bVar7 != 0)" (( "(") (binary_expression "bVar7 != 0" (identifier "bVar7") (!= "!=") (number_literal "0")) () ")")))) (, ",") (binary_expression "(int)uVar10 < (int)uVar19" (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10")) (< "<") (cast_expression "(int)uVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar19")))) () ")"))) () ")")) (compound_statement "{\n          uVar10 = uVar19;\n        }" ({ "{") (expression_statement "uVar10 = uVar19;" (assignment_expression "uVar10 = uVar19" (identifier "uVar10") (= "=") (identifier "uVar19")) (; ";")) (} "}"))) (if_statement "if ((int)uVar10 < 0x25) {\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }\n        else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }" (if "if") (parenthesized_expression "((int)uVar10 < 0x25)" (( "(") (binary_expression "(int)uVar10 < 0x25" (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10")) (< "<") (number_literal "0x25")) () ")")) (compound_statement "{\n          local_e0 = (byte *)0x0;\n          pbVar13 = local_43;\n        }" ({ "{") (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" (identifier "local_e0") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pbVar13 = local_43;" (assignment_expression "pbVar13 = local_43" (identifier "pbVar13") (= "=") (identifier "local_43")) (; ";")) (} "}")) (else_clause "else {\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }" (else "else") (compound_statement "{\n          lVar23 = (long)(int)uVar10 + 10;\n          if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }\n          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);\n          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n          pbVar13 = local_e0 + (long)(int)lVar23 + -1;\n        }" ({ "{") (expression_statement "lVar23 = (long)(int)uVar10 + 10;" (assignment_expression "lVar23 = (long)(int)uVar10 + 10" (identifier "lVar23") (= "=") (binary_expression "(long)(int)uVar10 + 10" (cast_expression "(long)(int)uVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10"))) (+ "+") (number_literal "10"))) (; ";")) (if_statement "if (bVar36 != 0) {\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }" (if "if") (parenthesized_expression "(bVar36 != 0)" (( "(") (binary_expression "bVar36 != 0" (identifier "bVar36") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            lVar23 = lVar23 + (int)uVar10 / 3;\n          }" ({ "{") (expression_statement "lVar23 = lVar23 + (int)uVar10 / 3;" (assignment_expression "lVar23 = lVar23 + (int)uVar10 / 3" (identifier "lVar23") (= "=") (binary_expression "lVar23 + (int)uVar10 / 3" (identifier "lVar23") (+ "+") (binary_expression "(int)uVar10 / 3" (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10")) (/ "/") (number_literal "3")))) (; ";")) (} "}"))) (expression_statement "local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);" (assignment_expression "local_e0 = (byte *)FUN_0011bc10(param_1,lVar23)" (identifier "local_e0") (= "=") (cast_expression "(byte *)FUN_0011bc10(param_1,lVar23)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0011bc10(param_1,lVar23)" (identifier "FUN_0011bc10") (argument_list "(param_1,lVar23)" (( "(") (identifier "param_1") (, ",") (identifier "lVar23") () ")"))))) (; ";")) (if_statement "if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;" (if "if") (parenthesized_expression "(local_e0 == (byte *)0x0)" (( "(") (binary_expression "local_e0 == (byte *)0x0" (identifier "local_e0") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto switchD_0013ea21_caseD_11;" (goto "goto") (statement_identifier "switchD_0013ea21_caseD_11") (; ";"))) (expression_statement "pbVar13 = local_e0 + (long)(int)lVar23 + -1;" (assignment_expression "pbVar13 = local_e0 + (long)(int)lVar23 + -1" (identifier "pbVar13") (= "=") (binary_expression "local_e0 + (long)(int)lVar23 + -1" (binary_expression "local_e0 + (long)(int)lVar23" (identifier "local_e0") (+ "+") (cast_expression "(long)(int)lVar23" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)lVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar23")))) (+ "+") (number_literal "-1"))) (; ";")) (} "}")))) (expression_statement "pbVar24 = pbVar13;" (assignment_expression "pbVar24 = pbVar13" (identifier "pbVar24") (= "=") (identifier "pbVar13")) (; ";")) (if_statement "if (cVar33 == '\x0f') {\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }" (if "if") (parenthesized_expression "(cVar33 == '\x0f')" (( "(") (binary_expression "cVar33 == '\x0f'" (identifier "cVar33") (== "==") (char_literal "'\x0f'" (' "'") (escape_sequence "\x0f") (' "'"))) () ")")) (compound_statement "{\n          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }\n          pbVar13[-1] = bVar25;\n          pbVar24 = pbVar13 + -2;\n          pbVar13[-2] = bVar8;\n        }" ({ "{") (if_statement "if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }\n          else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }" (if "if") (parenthesized_expression "((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1))" (( "(") (binary_expression "(uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)" (parenthesized_expression "(uVar37 % 10 < 4)" (( "(") (binary_expression "uVar37 % 10 < 4" (binary_expression "uVar37 % 10" (identifier "uVar37") (% "%") (number_literal "10")) (< "<") (number_literal "4")) () ")")) (&& "&&") (parenthesized_expression "((uVar37 / 10) % 10 != 1)" (( "(") (binary_expression "(uVar37 / 10) % 10 != 1" (binary_expression "(uVar37 / 10) % 10" (parenthesized_expression "(uVar37 / 10)" (( "(") (binary_expression "uVar37 / 10" (identifier "uVar37") (/ "/") (number_literal "10")) () ")")) (% "%") (number_literal "10")) (!= "!=") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n            iVar9 = (int)(uVar37 % 10) * 2;\n            bVar25 = "thstndrd"[iVar9 + 1];\n            bVar8 = "thstndrd"[iVar9];\n          }" ({ "{") (expression_statement "iVar9 = (int)(uVar37 % 10) * 2;" (assignment_expression "iVar9 = (int)(uVar37 % 10) * 2" (identifier "iVar9") (= "=") (binary_expression "(int)(uVar37 % 10) * 2" (cast_expression "(int)(uVar37 % 10)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar37 % 10)" (( "(") (binary_expression "uVar37 % 10" (identifier "uVar37") (% "%") (number_literal "10")) () ")"))) (* "*") (number_literal "2"))) (; ";")) (expression_statement "bVar25 = "thstndrd"[iVar9 + 1];" (assignment_expression "bVar25 = "thstndrd"[iVar9 + 1]" (identifier "bVar25") (= "=") (subscript_expression ""thstndrd"[iVar9 + 1]" (string_literal ""thstndrd"" (" """) (string_content "thstndrd") (" """)) ([ "[") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1")) (] "]"))) (; ";")) (expression_statement "bVar8 = "thstndrd"[iVar9];" (assignment_expression "bVar8 = "thstndrd"[iVar9]" (identifier "bVar8") (= "=") (subscript_expression ""thstndrd"[iVar9]" (string_literal ""thstndrd"" (" """) (string_content "thstndrd") (" """)) ([ "[") (identifier "iVar9") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }" (else "else") (compound_statement "{\n            bVar8 = 0x74;\n            bVar25 = 0x68;\n          }" ({ "{") (expression_statement "bVar8 = 0x74;" (assignment_expression "bVar8 = 0x74" (identifier "bVar8") (= "=") (number_literal "0x74")) (; ";")) (expression_statement "bVar25 = 0x68;" (assignment_expression "bVar25 = 0x68" (identifier "bVar25") (= "=") (number_literal "0x68")) (; ";")) (} "}")))) (expression_statement "pbVar13[-1] = bVar25;" (assignment_expression "pbVar13[-1] = bVar25" (subscript_expression "pbVar13[-1]" (identifier "pbVar13") ([ "[") (number_literal "-1") (] "]")) (= "=") (identifier "bVar25")) (; ";")) (expression_statement "pbVar24 = pbVar13 + -2;" (assignment_expression "pbVar24 = pbVar13 + -2" (identifier "pbVar24") (= "=") (binary_expression "pbVar13 + -2" (identifier "pbVar13") (+ "+") (number_literal "-2"))) (; ";")) (expression_statement "pbVar13[-2] = bVar8;" (assignment_expression "pbVar13[-2] = bVar8" (subscript_expression "pbVar13[-2]" (identifier "pbVar13") ([ "[") (number_literal "-2") (] "]")) (= "=") (identifier "bVar8")) (; ";")) (} "}"))) (expression_statement "bVar25 = (&DAT_001f5564)[lVar30 * 6];" (assignment_expression "bVar25 = (&DAT_001f5564)[lVar30 * 6]" (identifier "bVar25") (= "=") (subscript_expression "(&DAT_001f5564)[lVar30 * 6]" (parenthesized_expression "(&DAT_001f5564)" (( "(") (pointer_expression "&DAT_001f5564" (& "&") (identifier "DAT_001f5564")) () ")")) ([ "[") (binary_expression "lVar30 * 6" (identifier "lVar30") (* "*") (number_literal "6")) (] "]"))) (; ";")) (expression_statement "uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];" (assignment_expression "uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6]" (identifier "uVar28") (= "=") (subscript_expression "(ulong)(byte)(&DAT_001f5561)[lVar30 * 6]" (call_expression "(ulong)(byte)(&DAT_001f5561)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(&DAT_001f5561)" (( "(") (pointer_expression "&DAT_001f5561" (& "&") (identifier "DAT_001f5561")) () ")"))) ([ "[") (binary_expression "lVar30 * 6" (identifier "lVar30") (* "*") (number_literal "6")) (] "]"))) (; ";")) (do_statement "do {\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        } while (bVar39);" (do "do") (compound_statement "{\n          pbVar24 = pbVar24 + -1;\n          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];\n          bVar39 = uVar28 <= uVar37;\n          uVar37 = uVar37 / uVar28;\n        }" ({ "{") (expression_statement "pbVar24 = pbVar24 + -1;" (assignment_expression "pbVar24 = pbVar24 + -1" (identifier "pbVar24") (= "=") (binary_expression "pbVar24 + -1" (identifier "pbVar24") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "*pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];" (assignment_expression "*pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25]" (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")) (= "=") (subscript_expression ""0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25]" (string_literal ""0123456789ABCDEF0123456789abcdef"" (" """) (string_content "0123456789ABCDEF0123456789abcdef") (" """)) ([ "[") (binary_expression "uVar37 % uVar28 + (ulong)bVar25" (binary_expression "uVar37 % uVar28" (identifier "uVar37") (% "%") (identifier "uVar28")) (+ "+") (cast_expression "(ulong)bVar25" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar25"))) (] "]"))) (; ";")) (expression_statement "bVar39 = uVar28 <= uVar37;" (assignment_expression "bVar39 = uVar28 <= uVar37" (identifier "bVar39") (= "=") (binary_expression "uVar28 <= uVar37" (identifier "uVar28") (<= "<=") (identifier "uVar37"))) (; ";")) (expression_statement "uVar37 = uVar37 / uVar28;" (assignment_expression "uVar37 = uVar37 / uVar28" (identifier "uVar37") (= "=") (binary_expression "uVar37 / uVar28" (identifier "uVar37") (/ "/") (identifier "uVar28"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar39)" (( "(") (identifier "bVar39") () ")")) (; ";")) (expression_statement "uVar19 = (int)pbVar13 - (int)pbVar24;" (assignment_expression "uVar19 = (int)pbVar13 - (int)pbVar24" (identifier "uVar19") (= "=") (binary_expression "(int)pbVar13 - (int)pbVar24" (cast_expression "(int)pbVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar13")) (- "-") (cast_expression "(int)pbVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar24")))) (; ";")) (expression_statement "pbVar38 = pbVar24;" (assignment_expression "pbVar38 = pbVar24" (identifier "pbVar38") (= "=") (identifier "pbVar24")) (; ";")) (if_statement "if ((int)uVar19 < (int)uVar10) {\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }" (if "if") (parenthesized_expression "((int)uVar19 < (int)uVar10)" (( "(") (binary_expression "(int)uVar19 < (int)uVar10" (cast_expression "(int)uVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar19")) (< "<") (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10"))) () ")")) (compound_statement "{\n          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);\n          do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);\n        }" ({ "{") (expression_statement "pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);" (assignment_expression "pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19)" (identifier "pbVar38") (= "=") (binary_expression "pbVar24 + ~(ulong)((uVar10 - 1) - uVar19)" (identifier "pbVar24") (+ "+") (unary_expression "~(ulong)((uVar10 - 1) - uVar19)" (~ "~") (call_expression "(ulong)((uVar10 - 1) - uVar19)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((uVar10 - 1) - uVar19)" (( "(") (binary_expression "(uVar10 - 1) - uVar19" (parenthesized_expression "(uVar10 - 1)" (( "(") (binary_expression "uVar10 - 1" (identifier "uVar10") (- "-") (number_literal "1")) () ")")) (- "-") (identifier "uVar19")) () ")")))))) (; ";")) (do_statement "do {\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          } while (pbVar24 != pbVar38);" (do "do") (compound_statement "{\n            pbVar24 = pbVar24 + -1;\n            *pbVar24 = 0x30;\n            uVar19 = uVar10;\n          }" ({ "{") (expression_statement "pbVar24 = pbVar24 + -1;" (assignment_expression "pbVar24 = pbVar24 + -1" (identifier "pbVar24") (= "=") (binary_expression "pbVar24 + -1" (identifier "pbVar24") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "*pbVar24 = 0x30;" (assignment_expression "*pbVar24 = 0x30" (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")) (= "=") (number_literal "0x30")) (; ";")) (expression_statement "uVar19 = uVar10;" (assignment_expression "uVar19 = uVar10" (identifier "uVar19") (= "=") (identifier "uVar10")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pbVar24 != pbVar38)" (( "(") (binary_expression "pbVar24 != pbVar38" (identifier "pbVar24") (!= "!=") (identifier "pbVar38")) () ")")) (; ";")) (} "}"))) (if_statement "if (bVar36 != 0) {\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }" (if "if") (parenthesized_expression "(bVar36 != 0)" (( "(") (binary_expression "bVar36 != 0" (identifier "bVar36") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar29 = (int)(uVar19 - 1) / 3;\n          iVar9 = (int)(uVar19 - 1) % 3 + 1;\n          pbVar38 = pbVar38 + -(long)iVar29;\n          if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }\n        }" ({ "{") (expression_statement "iVar29 = (int)(uVar19 - 1) / 3;" (assignment_expression "iVar29 = (int)(uVar19 - 1) / 3" (identifier "iVar29") (= "=") (binary_expression "(int)(uVar19 - 1) / 3" (cast_expression "(int)(uVar19 - 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar19 - 1)" (( "(") (binary_expression "uVar19 - 1" (identifier "uVar19") (- "-") (number_literal "1")) () ")"))) (/ "/") (number_literal "3"))) (; ";")) (expression_statement "iVar9 = (int)(uVar19 - 1) % 3 + 1;" (assignment_expression "iVar9 = (int)(uVar19 - 1) % 3 + 1" (identifier "iVar9") (= "=") (binary_expression "(int)(uVar19 - 1) % 3 + 1" (binary_expression "(int)(uVar19 - 1) % 3" (cast_expression "(int)(uVar19 - 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar19 - 1)" (( "(") (binary_expression "uVar19 - 1" (identifier "uVar19") (- "-") (number_literal "1")) () ")"))) (% "%") (number_literal "3")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar38 = pbVar38 + -(long)iVar29;" (assignment_expression "pbVar38 = pbVar38 + -(long)iVar29" (identifier "pbVar38") (= "=") (binary_expression "pbVar38 + -(long)iVar29" (identifier "pbVar38") (+ "+") (unary_expression "-(long)iVar29" (- "-") (cast_expression "(long)iVar29" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "iVar29"))))) (; ";")) (if_statement "if (iVar29 != 0) {\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }" (if "if") (parenthesized_expression "(iVar29 != 0)" (( "(") (binary_expression "iVar29 != 0" (identifier "iVar29") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            iVar31 = 0;\n            while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }\n          }" ({ "{") (expression_statement "iVar31 = 0;" (assignment_expression "iVar31 = 0" (identifier "iVar31") (= "=") (number_literal "0")) (; ";")) (while_statement "while( true ) {\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n              do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);\n              pbVar38[iVar20 + 1] = bVar36;\n              iVar29 = iVar29 + -1;\n              if (iVar29 == 0) break;\n              iVar9 = 3;\n              iVar31 = iVar20 + 2;\n            }" ({ "{") (do_statement "do {\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              } while (iVar9 != 0);" (do "do") (compound_statement "{\n                iVar20 = iVar31;\n                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];\n                iVar9 = iVar9 + -1;\n                iVar31 = iVar20 + 1;\n              }" ({ "{") (expression_statement "iVar20 = iVar31;" (assignment_expression "iVar20 = iVar31" (identifier "iVar20") (= "=") (identifier "iVar31")) (; ";")) (expression_statement "pbVar38[iVar20] = pbVar38[iVar29 + iVar20];" (assignment_expression "pbVar38[iVar20] = pbVar38[iVar29 + iVar20]" (subscript_expression "pbVar38[iVar20]" (identifier "pbVar38") ([ "[") (identifier "iVar20") (] "]")) (= "=") (subscript_expression "pbVar38[iVar29 + iVar20]" (identifier "pbVar38") ([ "[") (binary_expression "iVar29 + iVar20" (identifier "iVar29") (+ "+") (identifier "iVar20")) (] "]"))) (; ";")) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "iVar31 = iVar20 + 1;" (assignment_expression "iVar31 = iVar20 + 1" (identifier "iVar31") (= "=") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "pbVar38[iVar20 + 1] = bVar36;" (assignment_expression "pbVar38[iVar20 + 1] = bVar36" (subscript_expression "pbVar38[iVar20 + 1]" (identifier "pbVar38") ([ "[") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1")) (] "]")) (= "=") (identifier "bVar36")) (; ";")) (expression_statement "iVar29 = iVar29 + -1;" (assignment_expression "iVar29 = iVar29 + -1" (identifier "iVar29") (= "=") (binary_expression "iVar29 + -1" (identifier "iVar29") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (iVar29 == 0) break;" (if "if") (parenthesized_expression "(iVar29 == 0)" (( "(") (binary_expression "iVar29 == 0" (identifier "iVar29") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar9 = 3;" (assignment_expression "iVar9 = 3" (identifier "iVar9") (= "=") (number_literal "3")) (; ";")) (expression_statement "iVar31 = iVar20 + 2;" (assignment_expression "iVar31 = iVar20 + 2" (identifier "iVar31") (= "=") (binary_expression "iVar20 + 2" (identifier "iVar20") (+ "+") (number_literal "2"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (if_statement "if (bVar7 != 0) {\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }" (if "if") (parenthesized_expression "(bVar7 != 0)" (( "(") (binary_expression "bVar7 != 0" (identifier "bVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          pbVar38[-1] = bVar7;\n          pbVar38 = pbVar38 + -1;\n        }" ({ "{") (expression_statement "pbVar38[-1] = bVar7;" (assignment_expression "pbVar38[-1] = bVar7" (subscript_expression "pbVar38[-1]" (identifier "pbVar38") ([ "[") (number_literal "-1") (] "]")) (= "=") (identifier "bVar7")) (; ";")) (expression_statement "pbVar38 = pbVar38 + -1;" (assignment_expression "pbVar38 = pbVar38 + -1" (identifier "pbVar38") (= "=") (binary_expression "pbVar38 + -1" (identifier "pbVar38") (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (if_statement "if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }" (if "if") (parenthesized_expression "((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0))" (( "(") (binary_expression "(bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)" (parenthesized_expression "(bVar35 != 0)" (( "(") (binary_expression "bVar35 != 0" (identifier "bVar35") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)" (( "(") (comma_expression "bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0" (assignment_expression "bVar7 = (&DAT_001f5565)[lVar30 * 6]" (identifier "bVar7") (= "=") (subscript_expression "(&DAT_001f5565)[lVar30 * 6]" (parenthesized_expression "(&DAT_001f5565)" (( "(") (pointer_expression "&DAT_001f5565" (& "&") (identifier "DAT_001f5565")) () ")")) ([ "[") (binary_expression "lVar30 * 6" (identifier "lVar30") (* "*") (number_literal "6")) (] "]"))) (, ",") (binary_expression "bVar7 != 0" (identifier "bVar7") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          pbVar24 = &DAT_001f55ea + bVar7;\n          bVar7 = (&DAT_001f55ea)[bVar7];\n          while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }\n        }" ({ "{") (expression_statement "pbVar24 = &DAT_001f55ea + bVar7;" (assignment_expression "pbVar24 = &DAT_001f55ea + bVar7" (identifier "pbVar24") (= "=") (binary_expression "&DAT_001f55ea + bVar7" (pointer_expression "&DAT_001f55ea" (& "&") (identifier "DAT_001f55ea")) (+ "+") (identifier "bVar7"))) (; ";")) (expression_statement "bVar7 = (&DAT_001f55ea)[bVar7];" (assignment_expression "bVar7 = (&DAT_001f55ea)[bVar7]" (identifier "bVar7") (= "=") (subscript_expression "(&DAT_001f55ea)[bVar7]" (parenthesized_expression "(&DAT_001f55ea)" (( "(") (pointer_expression "&DAT_001f55ea" (& "&") (identifier "DAT_001f55ea")) () ")")) ([ "[") (identifier "bVar7") (] "]"))) (; ";")) (while_statement "while (bVar7 != 0) {\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }" (while "while") (parenthesized_expression "(bVar7 != 0)" (( "(") (binary_expression "bVar7 != 0" (identifier "bVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            pbVar38 = pbVar38 + -1;\n            pbVar24 = pbVar24 + 1;\n            *pbVar38 = bVar7;\n            bVar7 = *pbVar24;\n          }" ({ "{") (expression_statement "pbVar38 = pbVar38 + -1;" (assignment_expression "pbVar38 = pbVar38 + -1" (identifier "pbVar38") (= "=") (binary_expression "pbVar38 + -1" (identifier "pbVar38") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "pbVar24 = pbVar24 + 1;" (assignment_expression "pbVar24 = pbVar24 + 1" (identifier "pbVar24") (= "=") (binary_expression "pbVar24 + 1" (identifier "pbVar24") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pbVar38 = bVar7;" (assignment_expression "*pbVar38 = bVar7" (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")) (= "=") (identifier "bVar7")) (; ";")) (expression_statement "bVar7 = *pbVar24;" (assignment_expression "bVar7 = *pbVar24" (identifier "bVar7") (= "=") (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar10 = (int)pbVar13 - (int)pbVar38;" (assignment_expression "uVar10 = (int)pbVar13 - (int)pbVar38" (identifier "uVar10") (= "=") (binary_expression "(int)pbVar13 - (int)pbVar38" (cast_expression "(int)pbVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar13")) (- "-") (cast_expression "(int)pbVar38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar38")))) (; ";")) (expression_statement "uVar37 = (ulong)uVar10;" (assignment_expression "uVar37 = (ulong)uVar10" (identifier "uVar37") (= "=") (cast_expression "(ulong)uVar10" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar10"))) (; ";")) (expression_statement "pbVar24 = (byte *)(ulong)(uVar12 - uVar10);" (assignment_expression "pbVar24 = (byte *)(ulong)(uVar12 - uVar10)" (identifier "pbVar24") (= "=") (cast_expression "(byte *)(ulong)(uVar12 - uVar10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(ulong)(uVar12 - uVar10)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar12 - uVar10)" (( "(") (binary_expression "uVar12 - uVar10" (identifier "uVar12") (- "-") (identifier "uVar10")) () ")"))))) (; ";")) (labeled_statement "LAB_0013f018:\n        if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }" (statement_identifier "LAB_0013f018") (: ":") (if_statement "if ((int)pbVar24 < 1) {\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }\n        else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }" (if "if") (parenthesized_expression "((int)pbVar24 < 1)" (( "(") (binary_expression "(int)pbVar24 < 1" (cast_expression "(int)pbVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar24")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\nLAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }" ({ "{") (labeled_statement "LAB_0013fd63:\n          FUN_0013e580(param_1,pbVar38,uVar37);" (statement_identifier "LAB_0013fd63") (: ":") (expression_statement "FUN_0013e580(param_1,pbVar38,uVar37);" (call_expression "FUN_0013e580(param_1,pbVar38,uVar37)" (identifier "FUN_0013e580") (argument_list "(param_1,pbVar38,uVar37)" (( "(") (identifier "param_1") (, ",") (identifier "pbVar38") (, ",") (identifier "uVar37") () ")"))) (; ";"))) (} "}")) (else_clause "else if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }" (else "else") (if_statement "if (bVar5) {\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }\n        else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }" (if "if") (parenthesized_expression "(bVar5)" (( "(") (identifier "bVar5") () ")")) (compound_statement "{\n          FUN_0013e580(param_1,pbVar38,uVar37);\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n        }" ({ "{") (expression_statement "FUN_0013e580(param_1,pbVar38,uVar37);" (call_expression "FUN_0013e580(param_1,pbVar38,uVar37)" (identifier "FUN_0013e580") (argument_list "(param_1,pbVar38,uVar37)" (( "(") (identifier "param_1") (, ",") (identifier "pbVar38") (, ",") (identifier "uVar37") () ")"))) (; ";")) (expression_statement "FUN_0013e4b0(param_1,pbVar24,0x20);" (call_expression "FUN_0013e4b0(param_1,pbVar24,0x20)" (identifier "FUN_0013e4b0") (argument_list "(param_1,pbVar24,0x20)" (( "(") (identifier "param_1") (, ",") (identifier "pbVar24") (, ",") (number_literal "0x20") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }" (else "else") (compound_statement "{\n          FUN_0013e4b0(param_1,pbVar24,0x20);\n          FUN_0013e580(param_1,pbVar38,uVar37);\n        }" ({ "{") (expression_statement "FUN_0013e4b0(param_1,pbVar24,0x20);" (call_expression "FUN_0013e4b0(param_1,pbVar24,0x20)" (identifier "FUN_0013e4b0") (argument_list "(param_1,pbVar24,0x20)" (( "(") (identifier "param_1") (, ",") (identifier "pbVar24") (, ",") (number_literal "0x20") () ")"))) (; ";")) (expression_statement "FUN_0013e580(param_1,pbVar38,uVar37);" (call_expression "FUN_0013e580(param_1,pbVar38,uVar37)" (identifier "FUN_0013e580") (argument_list "(param_1,pbVar38,uVar37)" (( "(") (identifier "param_1") (, ",") (identifier "pbVar38") (, ",") (identifier "uVar37") () ")"))) (; ";")) (} "}"))))))) (if_statement "if (local_e0 != (byte *)0x0) {\n          FUN_00119e90(*param_1,local_e0);\n        }" (if "if") (parenthesized_expression "(local_e0 != (byte *)0x0)" (( "(") (binary_expression "local_e0 != (byte *)0x0" (identifier "local_e0") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          FUN_00119e90(*param_1,local_e0);\n        }" ({ "{") (expression_statement "FUN_00119e90(*param_1,local_e0);" (call_expression "FUN_00119e90(*param_1,local_e0)" (identifier "FUN_00119e90") (argument_list "(*param_1,local_e0)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) (, ",") (identifier "local_e0") () ")"))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case '\x01':" (case "case") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'")) (: ":")) (case_statement "case '\x02':" (case "case") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'")) (: ":")) (case_statement "case '\x03':\n        if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }\n        if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }\n        dVar42 = DAT_001fae78;\n        if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }\n        uVar10 = uVar10 - 1;\n        uVar19 = uVar10 & 0xfff;\n        if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }\n        if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }\n        uVar37 = 0;\n        if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }\n        local_c8 = (int)uVar37;\n        local_b5 = bVar25;\n        if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }\n        lVar27 = (long)(int)uVar12;\n        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }\n        iVar9 = (uint)bVar25 * 10 + 0x10;\n        bVar40 = 0 < (int)uVar10;\n        pbVar17 = pbVar38;\n        pbVar13 = pbVar38 + 1;\n        if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }\n        if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }\n        if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }\n        *pbVar13 = 0;\n        iVar9 = (int)((long)pbVar13 - (long)pbVar38);\n        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;\n        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }\n        if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }\n        goto LAB_0013fd63;" (case "case") (char_literal "'\x03'" (' "'") (escape_sequence "\x03") (' "'")) (: ":") (if_statement "if (local_b6 == 0) {\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }\n        else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }" (if "if") (parenthesized_expression "(local_b6 == 0)" (( "(") (binary_expression "local_b6 == 0" (identifier "local_b6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar19 = param_3[1];\n          if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }\n          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;\nLAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;\n        }" ({ "{") (expression_statement "uVar19 = param_3[1];" (assignment_expression "uVar19 = param_3[1]" (identifier "uVar19") (= "=") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (uVar19 < 0xb0) {\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }" (if "if") (parenthesized_expression "(uVar19 < 0xb0)" (( "(") (binary_expression "uVar19 < 0xb0" (identifier "uVar19") (< "<") (number_literal "0xb0")) () ")")) (compound_statement "{\n            param_3[1] = uVar19 + 0x10;\n            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }" ({ "{") (expression_statement "param_3[1] = uVar19 + 0x10;" (assignment_expression "param_3[1] = uVar19 + 0x10" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "uVar19 + 0x10" (identifier "uVar19") (+ "+") (number_literal "0x10"))) (; ";")) (expression_statement "dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));" (assignment_expression "dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4))" (identifier "dVar41") (= "=") (pointer_expression "*(double *)((ulong)uVar19 + *(long *)(param_3 + 4))" (* "*") (cast_expression "(double *)((ulong)uVar19 + *(long *)(param_3 + 4))" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)uVar19 + *(long *)(param_3 + 4))" (( "(") (binary_expression "(ulong)uVar19 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar19" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar19")) (+ "+") (pointer_expression "*(long *)(param_3 + 4)" (* "*") (cast_expression "(long *)(param_3 + 4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 4)" (( "(") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4")) () ")"))))) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }" (else "else") (compound_statement "{\n            pdVar1 = *(double **)(param_3 + 2);\n            *(double **)(param_3 + 2) = pdVar1 + 1;\n            dVar41 = *pdVar1;\n          }" ({ "{") (expression_statement "pdVar1 = *(double **)(param_3 + 2);" (assignment_expression "pdVar1 = *(double **)(param_3 + 2)" (identifier "pdVar1") (= "=") (pointer_expression "*(double **)(param_3 + 2)" (* "*") (cast_expression "(double **)(param_3 + 2)" (( "(") (type_descriptor "double **" (primitive_type "double") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "*(double **)(param_3 + 2) = pdVar1 + 1;" (assignment_expression "*(double **)(param_3 + 2) = pdVar1 + 1" (pointer_expression "*(double **)(param_3 + 2)" (* "*") (cast_expression "(double **)(param_3 + 2)" (( "(") (type_descriptor "double **" (primitive_type "double") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "pdVar1 + 1" (identifier "pdVar1") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "dVar41 = *pdVar1;" (assignment_expression "dVar41 = *pdVar1" (identifier "dVar41") (= "=") (pointer_expression "*pdVar1" (* "*") (identifier "pdVar1"))) (; ";")) (} "}")))) (if_statement "if (uVar10 == 0xffffffff) goto LAB_0013ec1b;" (if "if") (parenthesized_expression "(uVar10 == 0xffffffff)" (( "(") (binary_expression "uVar10 == 0xffffffff" (identifier "uVar10") (== "==") (number_literal "0xffffffff")) () ")")) (goto_statement "goto LAB_0013ec1b;" (goto "goto") (statement_identifier "LAB_0013ec1b") (; ";"))) (labeled_statement "LAB_0013fb0a:\n          bVar40 = 0 < (int)uVar10;" (statement_identifier "LAB_0013fb0a") (: ":") (expression_statement "bVar40 = 0 < (int)uVar10;" (assignment_expression "bVar40 = 0 < (int)uVar10" (identifier "bVar40") (= "=") (binary_expression "0 < (int)uVar10" (number_literal "0") (< "<") (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10")))) (; ";"))) (} "}")) (else_clause "else {\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }" (else "else") (compound_statement "{\n          iVar9 = local_d8[1];\n          if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }\n          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;\nLAB_0013ec1b:\n          bVar40 = true;\n          uVar10 = 6;\n        }" ({ "{") (expression_statement "iVar9 = local_d8[1];" (assignment_expression "iVar9 = local_d8[1]" (identifier "iVar9") (= "=") (subscript_expression "local_d8[1]" (identifier "local_d8") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (iVar9 < *local_d8) {\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }\n          else {\n            dVar41 = 0.0;\n          }" (if "if") (parenthesized_expression "(iVar9 < *local_d8)" (( "(") (binary_expression "iVar9 < *local_d8" (identifier "iVar9") (< "<") (pointer_expression "*local_d8" (* "*") (identifier "local_d8"))) () ")")) (compound_statement "{\n            local_d8[1] = iVar9 + 1;\n            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));\n          }" ({ "{") (expression_statement "local_d8[1] = iVar9 + 1;" (assignment_expression "local_d8[1] = iVar9 + 1" (subscript_expression "local_d8[1]" (identifier "local_d8") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));" (assignment_expression "dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8))" (identifier "dVar41") (= "=") (cast_expression "(double)thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8))" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "thunk_FUN_001113d0(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8))" (identifier "thunk_FUN_001113d0") (argument_list "(*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8))" (( "(") (pointer_expression "*(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8)" (* "*") (cast_expression "(undefined8 *)\n                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(local_d8 + 2) + (long)iVar9 * 8)" (( "(") (binary_expression "*(long *)(local_d8 + 2) + (long)iVar9 * 8" (pointer_expression "*(long *)(local_d8 + 2)" (* "*") (cast_expression "(long *)(local_d8 + 2)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_d8 + 2)" (( "(") (binary_expression "local_d8 + 2" (identifier "local_d8") (+ "+") (number_literal "2")) () ")")))) (+ "+") (binary_expression "(long)iVar9 * 8" (cast_expression "(long)iVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "iVar9")) (* "*") (number_literal "8"))) () ")")))) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n            dVar41 = 0.0;\n          }" (else "else") (compound_statement "{\n            dVar41 = 0.0;\n          }" ({ "{") (expression_statement "dVar41 = 0.0;" (assignment_expression "dVar41 = 0.0" (identifier "dVar41") (= "=") (number_literal "0.0")) (; ";")) (} "}")))) (if_statement "if (uVar10 != 0xffffffff) goto LAB_0013fb0a;" (if "if") (parenthesized_expression "(uVar10 != 0xffffffff)" (( "(") (binary_expression "uVar10 != 0xffffffff" (identifier "uVar10") (!= "!=") (number_literal "0xffffffff")) () ")")) (goto_statement "goto LAB_0013fb0a;" (goto "goto") (statement_identifier "LAB_0013fb0a") (; ";"))) (labeled_statement "LAB_0013ec1b:\n          bVar40 = true;" (statement_identifier "LAB_0013ec1b") (: ":") (expression_statement "bVar40 = true;" (assignment_expression "bVar40 = true" (identifier "bVar40") (= "=") (true "true")) (; ";"))) (expression_statement "uVar10 = 6;" (assignment_expression "uVar10 = 6" (identifier "uVar10") (= "=") (number_literal "6")) (; ";")) (} "}")))) (if_statement "if (dVar41 < 0.0) {\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }" (if "if") (parenthesized_expression "(dVar41 < 0.0)" (( "(") (binary_expression "dVar41 < 0.0" (identifier "dVar41") (< "<") (number_literal "0.0")) () ")")) (compound_statement "{\n          dVar41 = -dVar41;\n          bVar7 = 0x2d;\n        }" ({ "{") (expression_statement "dVar41 = -dVar41;" (assignment_expression "dVar41 = -dVar41" (identifier "dVar41") (= "=") (unary_expression "-dVar41" (- "-") (identifier "dVar41"))) (; ";")) (expression_statement "bVar7 = 0x2d;" (assignment_expression "bVar7 = 0x2d" (identifier "bVar7") (= "=") (number_literal "0x2d")) (; ";")) (} "}"))) (expression_statement "dVar42 = DAT_001fae78;" (assignment_expression "dVar42 = DAT_001fae78" (identifier "dVar42") (= "=") (identifier "DAT_001fae78")) (; ";")) (if_statement "if ((cVar33 != '\x03') || (!bVar40)) {\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }" (if "if") (parenthesized_expression "((cVar33 != '\x03') || (!bVar40))" (( "(") (binary_expression "(cVar33 != '\x03') || (!bVar40)" (parenthesized_expression "(cVar33 != '\x03')" (( "(") (binary_expression "cVar33 != '\x03'" (identifier "cVar33") (!= "!=") (char_literal "'\x03'" (' "'") (escape_sequence "\x03") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(!bVar40)" (( "(") (unary_expression "!bVar40" (! "!") (identifier "bVar40")) () ")"))) () ")")) (compound_statement "{\n          uVar19 = uVar10 & 0xfff;\n          goto joined_r0x0013ec49;\n        }" ({ "{") (expression_statement "uVar19 = uVar10 & 0xfff;" (assignment_expression "uVar19 = uVar10 & 0xfff" (identifier "uVar19") (= "=") (binary_expression "uVar10 & 0xfff" (identifier "uVar10") (& "&") (number_literal "0xfff"))) (; ";")) (goto_statement "goto joined_r0x0013ec49;" (goto "goto") (statement_identifier "joined_r0x0013ec49") (; ";")) (} "}"))) (expression_statement "uVar10 = uVar10 - 1;" (assignment_expression "uVar10 = uVar10 - 1" (identifier "uVar10") (= "=") (binary_expression "uVar10 - 1" (identifier "uVar10") (- "-") (number_literal "1"))) (; ";")) (expression_statement "uVar19 = uVar10 & 0xfff;" (assignment_expression "uVar19 = uVar10 & 0xfff" (identifier "uVar19") (= "=") (binary_expression "uVar10 & 0xfff" (identifier "uVar10") (& "&") (number_literal "0xfff"))) (; ";")) (if_statement "if (uVar19 != 0) {\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }" (if "if") (parenthesized_expression "(uVar19 != 0)" (( "(") (binary_expression "uVar19 != 0" (identifier "uVar19") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);\n          if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }\n        }" ({ "{") (do_statement "do {\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          } while (uVar19 != 0);" (do "do") (compound_statement "{\n            dVar42 = dVar42 * DAT_001faf40;\n            uVar19 = uVar19 - 1;\njoined_r0x0013ec49:\n          }" ({ "{") (expression_statement "dVar42 = dVar42 * DAT_001faf40;" (assignment_expression "dVar42 = dVar42 * DAT_001faf40" (identifier "dVar42") (= "=") (binary_expression "dVar42 * DAT_001faf40" (identifier "dVar42") (* "*") (identifier "DAT_001faf40"))) (; ";")) (expression_statement "uVar19 = uVar19 - 1;" (assignment_expression "uVar19 = uVar19 - 1" (identifier "uVar19") (= "=") (binary_expression "uVar19 - 1" (identifier "uVar19") (- "-") (number_literal "1"))) (; ";")) (labeled_statement "joined_r0x0013ec49:" (statement_identifier "joined_r0x0013ec49") (: ":") (expression_statement "" (; ""))) (} "}")) (while "while") (parenthesized_expression "(uVar19 != 0)" (( "(") (binary_expression "uVar19 != 0" (identifier "uVar19") (!= "!=") (number_literal "0")) () ")")) (; ";")) (if_statement "if (cVar33 == '\x01') {\n            dVar41 = dVar42 + dVar41;\n          }" (if "if") (parenthesized_expression "(cVar33 == '\x01')" (( "(") (binary_expression "cVar33 == '\x01'" (identifier "cVar33") (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (compound_statement "{\n            dVar41 = dVar42 + dVar41;\n          }" ({ "{") (expression_statement "dVar41 = dVar42 + dVar41;" (assignment_expression "dVar41 = dVar42 + dVar41" (identifier "dVar41") (= "=") (binary_expression "dVar42 + dVar41" (identifier "dVar42") (+ "+") (identifier "dVar41"))) (; ";")) (} "}"))) (} "}"))) (if_statement "if (NAN(dVar41)) {\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }" (if "if") (parenthesized_expression "(NAN(dVar41))" (( "(") (call_expression "NAN(dVar41)" (identifier "NAN") (argument_list "(dVar41)" (( "(") (identifier "dVar41") () ")"))) () ")")) (compound_statement "{\n          pbVar24 = (byte *)(ulong)(uVar12 - 3);\n          uVar37 = 3;\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e98fc;\n          goto LAB_0013f018;\n        }" ({ "{") (expression_statement "pbVar24 = (byte *)(ulong)(uVar12 - 3);" (assignment_expression "pbVar24 = (byte *)(ulong)(uVar12 - 3)" (identifier "pbVar24") (= "=") (cast_expression "(byte *)(ulong)(uVar12 - 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(ulong)(uVar12 - 3)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar12 - 3)" (( "(") (binary_expression "uVar12 - 3" (identifier "uVar12") (- "-") (number_literal "3")) () ")"))))) (; ";")) (expression_statement "uVar37 = 3;" (assignment_expression "uVar37 = 3" (identifier "uVar37") (= "=") (number_literal "3")) (; ";")) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" (identifier "local_e0") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pbVar38 = &DAT_001e98fc;" (assignment_expression "pbVar38 = &DAT_001e98fc" (identifier "pbVar38") (= "=") (pointer_expression "&DAT_001e98fc" (& "&") (identifier "DAT_001e98fc"))) (; ";")) (goto_statement "goto LAB_0013f018;" (goto "goto") (statement_identifier "LAB_0013f018") (; ";")) (} "}"))) (expression_statement "uVar37 = 0;" (assignment_expression "uVar37 = 0" (identifier "uVar37") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0.0 < dVar41) {\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }" (if "if") (parenthesized_expression "(0.0 < dVar41)" (( "(") (binary_expression "0.0 < dVar41" (number_literal "0.0") (< "<") (identifier "dVar41")) () ")")) (compound_statement "{\n          dVar3 = _DAT_001faf38;\n          if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }\n          if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }\n          dVar3 = (double)_DAT_001fae10;\n          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }\n          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }\n          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }\n          if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }\n        }" ({ "{") (expression_statement "dVar3 = _DAT_001faf38;" (assignment_expression "dVar3 = _DAT_001faf38" (identifier "dVar3") (= "=") (identifier "_DAT_001faf38")) (; ";")) (if_statement "if (dVar41 < _DAT_001faf38) {\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }\n          else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }" (if "if") (parenthesized_expression "(dVar41 < _DAT_001faf38)" (( "(") (binary_expression "dVar41 < _DAT_001faf38" (identifier "dVar41") (< "<") (identifier "_DAT_001faf38")) () ")")) (compound_statement "{\n            dVar3 = (double)_DAT_001fae18;\n            bVar40 = true;\n            dVar4 = 1.0;\n          }" ({ "{") (expression_statement "dVar3 = (double)_DAT_001fae18;" (assignment_expression "dVar3 = (double)_DAT_001fae18" (identifier "dVar3") (= "=") (cast_expression "(double)_DAT_001fae18" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "_DAT_001fae18"))) (; ";")) (expression_statement "bVar40 = true;" (assignment_expression "bVar40 = true" (identifier "bVar40") (= "=") (true "true")) (; ";")) (expression_statement "dVar4 = 1.0;" (assignment_expression "dVar4 = 1.0" (identifier "dVar4") (= "=") (number_literal "1.0")) (; ";")) (} "}")) (else_clause "else {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }" (else "else") (compound_statement "{\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);\n            dVar3 = dVar4 * (double)_DAT_001fae18;\n          }" ({ "{") (do_statement "do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);" (do "do") (compound_statement "{\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 100;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = _DAT_001faf38 * dVar4;\n            }" ({ "{") (expression_statement "dVar4 = dVar3;" (assignment_expression "dVar4 = dVar3" (identifier "dVar4") (= "=") (identifier "dVar3")) (; ";")) (expression_statement "uVar19 = (int)uVar37 + 100;" (assignment_expression "uVar19 = (int)uVar37 + 100" (identifier "uVar19") (= "=") (binary_expression "(int)uVar37 + 100" (cast_expression "(int)uVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar37")) (+ "+") (number_literal "100"))) (; ";")) (expression_statement "uVar37 = (ulong)uVar19;" (assignment_expression "uVar37 = (ulong)uVar19" (identifier "uVar37") (= "=") (cast_expression "(ulong)uVar19" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar19"))) (; ";")) (expression_statement "bVar40 = (int)uVar19 < 0x15f;" (assignment_expression "bVar40 = (int)uVar19 < 0x15f" (identifier "bVar40") (= "=") (binary_expression "(int)uVar19 < 0x15f" (cast_expression "(int)uVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar19")) (< "<") (number_literal "0x15f"))) (; ";")) (expression_statement "dVar3 = _DAT_001faf38 * dVar4;" (assignment_expression "dVar3 = _DAT_001faf38 * dVar4" (identifier "dVar3") (= "=") (binary_expression "_DAT_001faf38 * dVar4" (identifier "_DAT_001faf38") (* "*") (identifier "dVar4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f)" (( "(") (binary_expression "_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f" (binary_expression "_DAT_001faf38 * dVar4 <= dVar41" (binary_expression "_DAT_001faf38 * dVar4" (identifier "_DAT_001faf38") (* "*") (identifier "dVar4")) (<= "<=") (identifier "dVar41")) (&& "&&") (binary_expression "(int)uVar19 < 0x15f" (cast_expression "(int)uVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar19")) (< "<") (number_literal "0x15f"))) () ")")) (; ";")) (expression_statement "dVar3 = dVar4 * (double)_DAT_001fae18;" (assignment_expression "dVar3 = dVar4 * (double)_DAT_001fae18" (identifier "dVar3") (= "=") (binary_expression "dVar4 * (double)_DAT_001fae18" (identifier "dVar4") (* "*") (cast_expression "(double)_DAT_001fae18" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "_DAT_001fae18")))) (; ";")) (} "}")))) (if_statement "if ((dVar3 <= dVar41) && (bVar40)) {\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }" (if "if") (parenthesized_expression "((dVar3 <= dVar41) && (bVar40))" (( "(") (binary_expression "(dVar3 <= dVar41) && (bVar40)" (parenthesized_expression "(dVar3 <= dVar41)" (( "(") (binary_expression "dVar3 <= dVar41" (identifier "dVar3") (<= "<=") (identifier "dVar41")) () ")")) (&& "&&") (parenthesized_expression "(bVar40)" (( "(") (identifier "bVar40") () ")"))) () ")")) (compound_statement "{\n            do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);\n          }" ({ "{") (do_statement "do {\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);" (do "do") (compound_statement "{\n              dVar4 = dVar3;\n              uVar19 = (int)uVar37 + 10;\n              uVar37 = (ulong)uVar19;\n              bVar40 = (int)uVar19 < 0x15f;\n              dVar3 = dVar4 * (double)_DAT_001fae18;\n            }" ({ "{") (expression_statement "dVar4 = dVar3;" (assignment_expression "dVar4 = dVar3" (identifier "dVar4") (= "=") (identifier "dVar3")) (; ";")) (expression_statement "uVar19 = (int)uVar37 + 10;" (assignment_expression "uVar19 = (int)uVar37 + 10" (identifier "uVar19") (= "=") (binary_expression "(int)uVar37 + 10" (cast_expression "(int)uVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar37")) (+ "+") (number_literal "10"))) (; ";")) (expression_statement "uVar37 = (ulong)uVar19;" (assignment_expression "uVar37 = (ulong)uVar19" (identifier "uVar37") (= "=") (cast_expression "(ulong)uVar19" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar19"))) (; ";")) (expression_statement "bVar40 = (int)uVar19 < 0x15f;" (assignment_expression "bVar40 = (int)uVar19 < 0x15f" (identifier "bVar40") (= "=") (binary_expression "(int)uVar19 < 0x15f" (cast_expression "(int)uVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar19")) (< "<") (number_literal "0x15f"))) (; ";")) (expression_statement "dVar3 = dVar4 * (double)_DAT_001fae18;" (assignment_expression "dVar3 = dVar4 * (double)_DAT_001fae18" (identifier "dVar3") (= "=") (binary_expression "dVar4 * (double)_DAT_001fae18" (identifier "dVar4") (* "*") (cast_expression "(double)_DAT_001fae18" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "_DAT_001fae18")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40)" (( "(") (binary_expression "dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40" (binary_expression "dVar4 * (double)_DAT_001fae18 <= dVar41" (binary_expression "dVar4 * (double)_DAT_001fae18" (identifier "dVar4") (* "*") (cast_expression "(double)_DAT_001fae18" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "_DAT_001fae18"))) (<= "<=") (identifier "dVar41")) (&& "&&") (identifier "bVar40")) () ")")) (; ";")) (} "}"))) (expression_statement "dVar3 = (double)_DAT_001fae10;" (assignment_expression "dVar3 = (double)_DAT_001fae10" (identifier "dVar3") (= "=") (cast_expression "(double)_DAT_001fae10" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "_DAT_001fae10"))) (; ";")) (if_statement "if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }" (if "if") (parenthesized_expression "((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40))" (( "(") (binary_expression "(dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)" (parenthesized_expression "(dVar4 * dVar3 <= dVar41)" (( "(") (binary_expression "dVar4 * dVar3 <= dVar41" (binary_expression "dVar4 * dVar3" (identifier "dVar4") (* "*") (identifier "dVar3")) (<= "<=") (identifier "dVar41")) () ")")) (&& "&&") (parenthesized_expression "(dVar6 = dVar4 * dVar3, bVar40)" (( "(") (comma_expression "dVar6 = dVar4 * dVar3, bVar40" (assignment_expression "dVar6 = dVar4 * dVar3" (identifier "dVar6") (= "=") (binary_expression "dVar4 * dVar3" (identifier "dVar4") (* "*") (identifier "dVar3"))) (, ",") (identifier "bVar40")) () ")"))) () ")")) (compound_statement "{\n            do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);\n          }" ({ "{") (do_statement "do {\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);" (do "do") (compound_statement "{\n              dVar4 = dVar6;\n              uVar19 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar19;\n              dVar6 = dVar4 * dVar3;\n            }" ({ "{") (expression_statement "dVar4 = dVar6;" (assignment_expression "dVar4 = dVar6" (identifier "dVar4") (= "=") (identifier "dVar6")) (; ";")) (expression_statement "uVar19 = (int)uVar37 + 1;" (assignment_expression "uVar19 = (int)uVar37 + 1" (identifier "uVar19") (= "=") (binary_expression "(int)uVar37 + 1" (cast_expression "(int)uVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar37")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar37 = (ulong)uVar19;" (assignment_expression "uVar37 = (ulong)uVar19" (identifier "uVar37") (= "=") (cast_expression "(ulong)uVar19" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar19"))) (; ";")) (expression_statement "dVar6 = dVar4 * dVar3;" (assignment_expression "dVar6 = dVar4 * dVar3" (identifier "dVar6") (= "=") (binary_expression "dVar4 * dVar3" (identifier "dVar4") (* "*") (identifier "dVar3"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41)" (( "(") (binary_expression "(int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41" (binary_expression "(int)uVar19 < 0x15f" (cast_expression "(int)uVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar19")) (< "<") (number_literal "0x15f")) (&& "&&") (binary_expression "dVar4 * dVar3 <= dVar41" (binary_expression "dVar4 * dVar3" (identifier "dVar4") (* "*") (identifier "dVar3")) (<= "<=") (identifier "dVar41"))) () ")")) (; ";")) (} "}"))) (for_statement "for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;\n              dVar41 = dVar41 * (double)_DAT_001fae1c) {\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }" (for "for") (( "(") (assignment_expression "dVar41 = dVar41 / dVar4" (identifier "dVar41") (= "=") (binary_expression "dVar41 / dVar4" (identifier "dVar41") (/ "/") (identifier "dVar4"))) (; ";") (binary_expression "dVar41 < _DAT_001faf48" (identifier "dVar41") (< "<") (identifier "_DAT_001faf48")) (; ";") (assignment_expression "dVar41 = dVar41 * (double)_DAT_001fae1c" (identifier "dVar41") (= "=") (binary_expression "dVar41 * (double)_DAT_001fae1c" (identifier "dVar41") (* "*") (cast_expression "(double)_DAT_001fae1c" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "_DAT_001fae1c")))) () ")") (compound_statement "{\n            uVar37 = (ulong)((int)uVar37 - 8);\n          }" ({ "{") (expression_statement "uVar37 = (ulong)((int)uVar37 - 8);" (assignment_expression "uVar37 = (ulong)((int)uVar37 - 8)" (identifier "uVar37") (= "=") (call_expression "(ulong)((int)uVar37 - 8)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((int)uVar37 - 8)" (( "(") (binary_expression "(int)uVar37 - 8" (cast_expression "(int)uVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar37")) (- "-") (number_literal "8")) () ")")))) (; ";")) (} "}"))) (for_statement "for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }" (for "for") (( "(") (; ";") (binary_expression "dVar41 < 1.0" (identifier "dVar41") (< "<") (number_literal "1.0")) (; ";") (assignment_expression "dVar41 = dVar41 * dVar3" (identifier "dVar41") (= "=") (binary_expression "dVar41 * dVar3" (identifier "dVar41") (* "*") (identifier "dVar3"))) () ")") (compound_statement "{\n            uVar37 = (ulong)((int)uVar37 - 1);\n          }" ({ "{") (expression_statement "uVar37 = (ulong)((int)uVar37 - 1);" (assignment_expression "uVar37 = (ulong)((int)uVar37 - 1)" (identifier "uVar37") (= "=") (call_expression "(ulong)((int)uVar37 - 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((int)uVar37 - 1)" (( "(") (binary_expression "(int)uVar37 - 1" (cast_expression "(int)uVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar37")) (- "-") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (if_statement "if (0x15e < (int)uVar37) {\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }" (if "if") (parenthesized_expression "(0x15e < (int)uVar37)" (( "(") (binary_expression "0x15e < (int)uVar37" (number_literal "0x15e") (< "<") (cast_expression "(int)uVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar37"))) () ")")) (compound_statement "{\n            pbVar38 = local_88;\n            pbVar13 = pbVar38 + (bVar7 != 0);\n            local_88[0] = bVar7;\n            pbVar13[0] = 0x49;\n            pbVar13[1] = 0x6e;\n            pbVar13[2] = 0x66;\n            pbVar13[3] = 0;\n            if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }\n            goto LAB_0013f018;\n          }" ({ "{") (expression_statement "pbVar38 = local_88;" (assignment_expression "pbVar38 = local_88" (identifier "pbVar38") (= "=") (identifier "local_88")) (; ";")) (expression_statement "pbVar13 = pbVar38 + (bVar7 != 0);" (assignment_expression "pbVar13 = pbVar38 + (bVar7 != 0)" (identifier "pbVar13") (= "=") (binary_expression "pbVar38 + (bVar7 != 0)" (identifier "pbVar38") (+ "+") (parenthesized_expression "(bVar7 != 0)" (( "(") (binary_expression "bVar7 != 0" (identifier "bVar7") (!= "!=") (number_literal "0")) () ")")))) (; ";")) (expression_statement "local_88[0] = bVar7;" (assignment_expression "local_88[0] = bVar7" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "bVar7")) (; ";")) (expression_statement "pbVar13[0] = 0x49;" (assignment_expression "pbVar13[0] = 0x49" (subscript_expression "pbVar13[0]" (identifier "pbVar13") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0x49")) (; ";")) (expression_statement "pbVar13[1] = 0x6e;" (assignment_expression "pbVar13[1] = 0x6e" (subscript_expression "pbVar13[1]" (identifier "pbVar13") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0x6e")) (; ";")) (expression_statement "pbVar13[2] = 0x66;" (assignment_expression "pbVar13[2] = 0x66" (subscript_expression "pbVar13[2]" (identifier "pbVar13") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x66")) (; ";")) (expression_statement "pbVar13[3] = 0;" (assignment_expression "pbVar13[3] = 0" (subscript_expression "pbVar13[3]" (identifier "pbVar13") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (bVar7 == 0) {\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }\n            else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }" (if "if") (parenthesized_expression "(bVar7 == 0)" (( "(") (binary_expression "bVar7 == 0" (identifier "bVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              pbVar24 = (byte *)(ulong)(uVar12 - 3);\n              uVar37 = 3;\n              local_e0 = (byte *)0x0;\n            }" ({ "{") (expression_statement "pbVar24 = (byte *)(ulong)(uVar12 - 3);" (assignment_expression "pbVar24 = (byte *)(ulong)(uVar12 - 3)" (identifier "pbVar24") (= "=") (cast_expression "(byte *)(ulong)(uVar12 - 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(ulong)(uVar12 - 3)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar12 - 3)" (( "(") (binary_expression "uVar12 - 3" (identifier "uVar12") (- "-") (number_literal "3")) () ")"))))) (; ";")) (expression_statement "uVar37 = 3;" (assignment_expression "uVar37 = 3" (identifier "uVar37") (= "=") (number_literal "3")) (; ";")) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" (identifier "local_e0") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }" (else "else") (compound_statement "{\n              pbVar24 = (byte *)(ulong)(uVar12 - 4);\n              uVar37 = 4;\n              local_e0 = (byte *)0x0;\n            }" ({ "{") (expression_statement "pbVar24 = (byte *)(ulong)(uVar12 - 4);" (assignment_expression "pbVar24 = (byte *)(ulong)(uVar12 - 4)" (identifier "pbVar24") (= "=") (cast_expression "(byte *)(ulong)(uVar12 - 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(ulong)(uVar12 - 4)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar12 - 4)" (( "(") (binary_expression "uVar12 - 4" (identifier "uVar12") (- "-") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar37 = 4;" (assignment_expression "uVar37 = 4" (identifier "uVar37") (= "=") (number_literal "4")) (; ";")) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" (identifier "local_e0") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (goto_statement "goto LAB_0013f018;" (goto "goto") (statement_identifier "LAB_0013f018") (; ";")) (} "}"))) (} "}"))) (expression_statement "local_c8 = (int)uVar37;" (assignment_expression "local_c8 = (int)uVar37" (identifier "local_c8") (= "=") (cast_expression "(int)uVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar37"))) (; ";")) (expression_statement "local_b5 = bVar25;" (assignment_expression "local_b5 = bVar25" (identifier "local_b5") (= "=") (identifier "bVar25")) (; ";")) (if_statement "if (cVar33 == '\x01') {\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }\n        else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }" (if "if") (parenthesized_expression "(cVar33 == '\x01')" (( "(") (binary_expression "cVar33 == '\x01'" (identifier "cVar33") (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (compound_statement "{\n          iVar9 = 0;\n          if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }\n          lVar23 = (long)iVar9;\n        }" ({ "{") (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" (identifier "iVar9") (= "=") (number_literal "0")) (; ";")) (if_statement "if (-1 < local_c8) {\n            iVar9 = local_c8;\n          }" (if "if") (parenthesized_expression "(-1 < local_c8)" (( "(") (binary_expression "-1 < local_c8" (number_literal "-1") (< "<") (identifier "local_c8")) () ")")) (compound_statement "{\n            iVar9 = local_c8;\n          }" ({ "{") (expression_statement "iVar9 = local_c8;" (assignment_expression "iVar9 = local_c8" (identifier "iVar9") (= "=") (identifier "local_c8")) (; ";")) (} "}"))) (expression_statement "lVar23 = (long)iVar9;" (assignment_expression "lVar23 = (long)iVar9" (identifier "lVar23") (= "=") (cast_expression "(long)iVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "iVar9"))) (; ";")) (} "}")) (else_clause "else {\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }" (else "else") (compound_statement "{\n          dVar41 = dVar42 + dVar41;\n          if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }\n          local_c8 = (int)uVar37;\n          if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }\n        }" ({ "{") (expression_statement "dVar41 = dVar42 + dVar41;" (assignment_expression "dVar41 = dVar42 + dVar41" (identifier "dVar41") (= "=") (binary_expression "dVar42 + dVar41" (identifier "dVar42") (+ "+") (identifier "dVar41"))) (; ";")) (if_statement "if ((double)_DAT_001fae10 <= dVar41) {\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }" (if "if") (parenthesized_expression "((double)_DAT_001fae10 <= dVar41)" (( "(") (binary_expression "(double)_DAT_001fae10 <= dVar41" (cast_expression "(double)_DAT_001fae10" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "_DAT_001fae10")) (<= "<=") (identifier "dVar41")) () ")")) (compound_statement "{\n            dVar41 = dVar41 * DAT_001faf40;\n            uVar37 = (ulong)(local_c8 + 1);\n          }" ({ "{") (expression_statement "dVar41 = dVar41 * DAT_001faf40;" (assignment_expression "dVar41 = dVar41 * DAT_001faf40" (identifier "dVar41") (= "=") (binary_expression "dVar41 * DAT_001faf40" (identifier "dVar41") (* "*") (identifier "DAT_001faf40"))) (; ";")) (expression_statement "uVar37 = (ulong)(local_c8 + 1);" (assignment_expression "uVar37 = (ulong)(local_c8 + 1)" (identifier "uVar37") (= "=") (call_expression "(ulong)(local_c8 + 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(local_c8 + 1)" (( "(") (binary_expression "local_c8 + 1" (identifier "local_c8") (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (expression_statement "local_c8 = (int)uVar37;" (assignment_expression "local_c8 = (int)uVar37" (identifier "local_c8") (= "=") (cast_expression "(int)uVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar37"))) (; ";")) (if_statement "if (cVar33 == '\x03') {\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }\n          else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }" (if "if") (parenthesized_expression "(cVar33 == '\x03')" (( "(") (binary_expression "cVar33 == '\x03'" (identifier "cVar33") (== "==") (char_literal "'\x03'" (' "'") (escape_sequence "\x03") (' "'"))) () ")")) (compound_statement "{\n            local_b5 = bVar35 ^ 1;\n            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }\n          }" ({ "{") (expression_statement "local_b5 = bVar35 ^ 1;" (assignment_expression "local_b5 = bVar35 ^ 1" (identifier "local_b5") (= "=") (binary_expression "bVar35 ^ 1" (identifier "bVar35") (^ "^") (number_literal "1"))) (; ";")) (if_statement "if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }\n            else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }" (if "if") (parenthesized_expression "((local_c8 < -4) || ((int)uVar10 < local_c8))" (( "(") (binary_expression "(local_c8 < -4) || ((int)uVar10 < local_c8)" (parenthesized_expression "(local_c8 < -4)" (( "(") (binary_expression "local_c8 < -4" (identifier "local_c8") (< "<") (number_literal "-4")) () ")")) (|| "||") (parenthesized_expression "((int)uVar10 < local_c8)" (( "(") (binary_expression "(int)uVar10 < local_c8" (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10")) (< "<") (identifier "local_c8")) () ")"))) () ")")) (compound_statement "{\n              lVar23 = 0;\n              cVar33 = '\x02';\n              local_c8 = 0;\n            }" ({ "{") (expression_statement "lVar23 = 0;" (assignment_expression "lVar23 = 0" (identifier "lVar23") (= "=") (number_literal "0")) (; ";")) (expression_statement "cVar33 = '\x02';" (assignment_expression "cVar33 = '\x02'" (identifier "cVar33") (= "=") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) (; ";")) (expression_statement "local_c8 = 0;" (assignment_expression "local_c8 = 0" (identifier "local_c8") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }" (else "else") (compound_statement "{\n              uVar10 = uVar10 - local_c8;\n              iVar9 = 0;\n              if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }\n              cVar33 = '\x01';\n              lVar23 = (long)iVar9;\n            }" ({ "{") (expression_statement "uVar10 = uVar10 - local_c8;" (assignment_expression "uVar10 = uVar10 - local_c8" (identifier "uVar10") (= "=") (binary_expression "uVar10 - local_c8" (identifier "uVar10") (- "-") (identifier "local_c8"))) (; ";")) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" (identifier "iVar9") (= "=") (number_literal "0")) (; ";")) (if_statement "if (-1 < local_c8) {\n                iVar9 = local_c8;\n              }" (if "if") (parenthesized_expression "(-1 < local_c8)" (( "(") (binary_expression "-1 < local_c8" (number_literal "-1") (< "<") (identifier "local_c8")) () ")")) (compound_statement "{\n                iVar9 = local_c8;\n              }" ({ "{") (expression_statement "iVar9 = local_c8;" (assignment_expression "iVar9 = local_c8" (identifier "iVar9") (= "=") (identifier "local_c8")) (; ";")) (} "}"))) (expression_statement "cVar33 = '\x01';" (assignment_expression "cVar33 = '\x01'" (identifier "cVar33") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "lVar23 = (long)iVar9;" (assignment_expression "lVar23 = (long)iVar9" (identifier "lVar23") (= "=") (cast_expression "(long)iVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "iVar9"))) (; ";")) (} "}")))) (} "}")) (else_clause "else if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }" (else "else") (if_statement "if (cVar33 == '\x02') {\n            lVar23 = 0;\n            local_c8 = 0;\n          }\n          else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }" (if "if") (parenthesized_expression "(cVar33 == '\x02')" (( "(") (binary_expression "cVar33 == '\x02'" (identifier "cVar33") (== "==") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (compound_statement "{\n            lVar23 = 0;\n            local_c8 = 0;\n          }" ({ "{") (expression_statement "lVar23 = 0;" (assignment_expression "lVar23 = 0" (identifier "lVar23") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_c8 = 0;" (assignment_expression "local_c8 = 0" (identifier "local_c8") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }" (else "else") (compound_statement "{\n            cVar33 = '\x01';\n            iVar9 = 0;\n            if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }\n            lVar23 = (long)iVar9;\n          }" ({ "{") (expression_statement "cVar33 = '\x01';" (assignment_expression "cVar33 = '\x01'" (identifier "cVar33") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" (identifier "iVar9") (= "=") (number_literal "0")) (; ";")) (if_statement "if (-1 < local_c8) {\n              iVar9 = local_c8;\n            }" (if "if") (parenthesized_expression "(-1 < local_c8)" (( "(") (binary_expression "-1 < local_c8" (number_literal "-1") (< "<") (identifier "local_c8")) () ")")) (compound_statement "{\n              iVar9 = local_c8;\n            }" ({ "{") (expression_statement "iVar9 = local_c8;" (assignment_expression "iVar9 = local_c8" (identifier "iVar9") (= "=") (identifier "local_c8")) (; ";")) (} "}"))) (expression_statement "lVar23 = (long)iVar9;" (assignment_expression "lVar23 = (long)iVar9" (identifier "lVar23") (= "=") (cast_expression "(long)iVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "iVar9"))) (; ";")) (} "}")))))) (} "}")))) (expression_statement "lVar27 = (long)(int)uVar12;" (assignment_expression "lVar27 = (long)(int)uVar12" (identifier "lVar27") (= "=") (cast_expression "(long)(int)uVar12" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)uVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar12")))) (; ";")) (if_statement "if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }\n        else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }" (if "if") (parenthesized_expression "(lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47)" (( "(") (binary_expression "lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47" (binary_expression "lVar23 + (int)uVar10 + 0xf + lVar27" (binary_expression "lVar23 + (int)uVar10 + 0xf" (binary_expression "lVar23 + (int)uVar10" (identifier "lVar23") (+ "+") (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10"))) (+ "+") (number_literal "0xf")) (+ "+") (identifier "lVar27")) (< "<") (number_literal "0x47")) () ")")) (compound_statement "{\n          local_e0 = (byte *)0x0;\n          pbVar38 = local_88;\n        }" ({ "{") (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" (identifier "local_e0") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pbVar38 = local_88;" (assignment_expression "pbVar38 = local_88" (identifier "pbVar38") (= "=") (identifier "local_88")) (; ";")) (} "}")) (else_clause "else {\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }" (else "else") (compound_statement "{\n          pbVar38 = (byte *)FUN_0011bc10(param_1);\n          local_e0 = pbVar38;\n          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n        }" ({ "{") (expression_statement "pbVar38 = (byte *)FUN_0011bc10(param_1);" (assignment_expression "pbVar38 = (byte *)FUN_0011bc10(param_1)" (identifier "pbVar38") (= "=") (cast_expression "(byte *)FUN_0011bc10(param_1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0011bc10(param_1)" (identifier "FUN_0011bc10") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))))) (; ";")) (expression_statement "local_e0 = pbVar38;" (assignment_expression "local_e0 = pbVar38" (identifier "local_e0") (= "=") (identifier "pbVar38")) (; ";")) (if_statement "if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;" (if "if") (parenthesized_expression "(pbVar38 == (byte *)0x0)" (( "(") (binary_expression "pbVar38 == (byte *)0x0" (identifier "pbVar38") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto switchD_0013ea21_caseD_11;" (goto "goto") (statement_identifier "switchD_0013ea21_caseD_11") (; ";"))) (} "}")))) (expression_statement "iVar9 = (uint)bVar25 * 10 + 0x10;" (assignment_expression "iVar9 = (uint)bVar25 * 10 + 0x10" (identifier "iVar9") (= "=") (binary_expression "(uint)bVar25 * 10 + 0x10" (binary_expression "(uint)bVar25 * 10" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "10")) (+ "+") (number_literal "0x10"))) (; ";")) (expression_statement "bVar40 = 0 < (int)uVar10;" (assignment_expression "bVar40 = 0 < (int)uVar10" (identifier "bVar40") (= "=") (binary_expression "0 < (int)uVar10" (number_literal "0") (< "<") (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10")))) (; ";")) (expression_statement "pbVar17 = pbVar38;" (assignment_expression "pbVar17 = pbVar38" (identifier "pbVar17") (= "=") (identifier "pbVar38")) (; ";")) (expression_statement "pbVar13 = pbVar38 + 1;" (assignment_expression "pbVar13 = pbVar38 + 1" (identifier "pbVar13") (= "=") (binary_expression "pbVar38 + 1" (identifier "pbVar38") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (bVar7 != 0) {\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }" (if "if") (parenthesized_expression "(bVar7 != 0)" (( "(") (binary_expression "bVar7 != 0" (identifier "bVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          *pbVar38 = bVar7;\n          pbVar13 = pbVar38 + 2;\n          pbVar17 = pbVar38 + 1;\n        }" ({ "{") (expression_statement "*pbVar38 = bVar7;" (assignment_expression "*pbVar38 = bVar7" (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")) (= "=") (identifier "bVar7")) (; ";")) (expression_statement "pbVar13 = pbVar38 + 2;" (assignment_expression "pbVar13 = pbVar38 + 2" (identifier "pbVar13") (= "=") (binary_expression "pbVar38 + 2" (identifier "pbVar38") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "pbVar17 = pbVar38 + 1;" (assignment_expression "pbVar17 = pbVar38 + 1" (identifier "pbVar17") (= "=") (binary_expression "pbVar38 + 1" (identifier "pbVar38") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (local_c8 < 0) {\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }\n        else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }" (if "if") (parenthesized_expression "(local_c8 < 0)" (( "(") (binary_expression "local_c8 < 0" (identifier "local_c8") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          *pbVar17 = 0x30;\n          uVar19 = local_c8 + 1;\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }\n          if (uVar19 != 0) goto LAB_0013ed90;\n        }" ({ "{") (expression_statement "*pbVar17 = 0x30;" (assignment_expression "*pbVar17 = 0x30" (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")) (= "=") (number_literal "0x30")) (; ";")) (expression_statement "uVar19 = local_c8 + 1;" (assignment_expression "uVar19 = local_c8 + 1" (identifier "uVar19") (= "=") (binary_expression "local_c8 + 1" (identifier "local_c8") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }" (if "if") (parenthesized_expression "(bVar40 || (bVar35 != 0 || bVar25 != 0))" (( "(") (binary_expression "bVar40 || (bVar35 != 0 || bVar25 != 0)" (identifier "bVar40") (|| "||") (parenthesized_expression "(bVar35 != 0 || bVar25 != 0)" (( "(") (binary_expression "bVar35 != 0 || bVar25 != 0" (binary_expression "bVar35 != 0" (identifier "bVar35") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "bVar25 != 0" (identifier "bVar25") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n            pbVar17 = pbVar13 + 1;\n            *pbVar13 = 0x2e;\n            pbVar13 = pbVar17;\n            if (uVar19 == 0) goto LAB_0013edc4;\nLAB_0013ed90:\n            pbVar17 = pbVar13;\n            do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);\n            uVar10 = (uVar10 - 1) + local_c8 + 2;\n            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;\nLAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }\n            goto LAB_0013ee42;\n          }" ({ "{") (expression_statement "pbVar17 = pbVar13 + 1;" (assignment_expression "pbVar17 = pbVar13 + 1" (identifier "pbVar17") (= "=") (binary_expression "pbVar13 + 1" (identifier "pbVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pbVar13 = 0x2e;" (assignment_expression "*pbVar13 = 0x2e" (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")) (= "=") (number_literal "0x2e")) (; ";")) (expression_statement "pbVar13 = pbVar17;" (assignment_expression "pbVar13 = pbVar17" (identifier "pbVar13") (= "=") (identifier "pbVar17")) (; ";")) (if_statement "if (uVar19 == 0) goto LAB_0013edc4;" (if "if") (parenthesized_expression "(uVar19 == 0)" (( "(") (binary_expression "uVar19 == 0" (identifier "uVar19") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0013edc4;" (goto "goto") (statement_identifier "LAB_0013edc4") (; ";"))) (labeled_statement "LAB_0013ed90:\n            pbVar17 = pbVar13;" (statement_identifier "LAB_0013ed90") (: ":") (expression_statement "pbVar17 = pbVar13;" (assignment_expression "pbVar17 = pbVar13" (identifier "pbVar17") (= "=") (identifier "pbVar13")) (; ";"))) (do_statement "do {\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);" (do "do") (compound_statement "{\n              pbVar14 = pbVar17 + 1;\n              *pbVar17 = 0x30;\n              pbVar17 = pbVar14;\n            }" ({ "{") (expression_statement "pbVar14 = pbVar17 + 1;" (assignment_expression "pbVar14 = pbVar17 + 1" (identifier "pbVar14") (= "=") (binary_expression "pbVar17 + 1" (identifier "pbVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pbVar17 = 0x30;" (assignment_expression "*pbVar17 = 0x30" (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")) (= "=") (number_literal "0x30")) (; ";")) (expression_statement "pbVar17 = pbVar14;" (assignment_expression "pbVar17 = pbVar14" (identifier "pbVar17") (= "=") (identifier "pbVar14")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pbVar14 != pbVar13 + (ulong)~uVar19 + 1)" (( "(") (binary_expression "pbVar14 != pbVar13 + (ulong)~uVar19 + 1" (identifier "pbVar14") (!= "!=") (binary_expression "pbVar13 + (ulong)~uVar19 + 1" (binary_expression "pbVar13 + (ulong)~uVar19" (identifier "pbVar13") (+ "+") (cast_expression "(ulong)~uVar19" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (unary_expression "~uVar19" (~ "~") (identifier "uVar19")))) (+ "+") (number_literal "1"))) () ")")) (; ";")) (expression_statement "uVar10 = (uVar10 - 1) + local_c8 + 2;" (assignment_expression "uVar10 = (uVar10 - 1) + local_c8 + 2" (identifier "uVar10") (= "=") (binary_expression "(uVar10 - 1) + local_c8 + 2" (binary_expression "(uVar10 - 1) + local_c8" (parenthesized_expression "(uVar10 - 1)" (( "(") (binary_expression "uVar10 - 1" (identifier "uVar10") (- "-") (number_literal "1")) () ")")) (+ "+") (identifier "local_c8")) (+ "+") (number_literal "2"))) (; ";")) (expression_statement "pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;" (assignment_expression "pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1" (identifier "pbVar13") (= "=") (binary_expression "pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1" (binary_expression "pbVar13 + (ulong)(uint)-(local_c8 + 2)" (binary_expression "pbVar13 + (ulong)(uint)" (identifier "pbVar13") (+ "+") (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uint)" (( "(") (identifier "uint") () ")")))) (- "-") (parenthesized_expression "(local_c8 + 2)" (( "(") (binary_expression "local_c8 + 2" (identifier "local_c8") (+ "+") (number_literal "2")) () ")"))) (+ "+") (number_literal "1"))) (; ";")) (labeled_statement "LAB_0013edc4:\n            if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }" (statement_identifier "LAB_0013edc4") (: ":") (if_statement "if (0 < (int)uVar10) {\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }" (if "if") (parenthesized_expression "(0 < (int)uVar10)" (( "(") (binary_expression "0 < (int)uVar10" (number_literal "0") (< "<") (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10"))) () ")")) (compound_statement "{\n              pbVar17 = pbVar13;\n              do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);\nLAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;\n            }" ({ "{") (expression_statement "pbVar17 = pbVar13;" (assignment_expression "pbVar17 = pbVar13" (identifier "pbVar17") (= "=") (identifier "pbVar13")) (; ";")) (do_statement "do {\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);" (do "do") (compound_statement "{\n                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }\n                *pbVar17 = 0x30;\n                pbVar17 = pbVar14;\n              }" ({ "{") (while_statement "while (pbVar14 = pbVar17 + 1, 0 < iVar9) {\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }" (while "while") (parenthesized_expression "(pbVar14 = pbVar17 + 1, 0 < iVar9)" (( "(") (comma_expression "pbVar14 = pbVar17 + 1, 0 < iVar9" (assignment_expression "pbVar14 = pbVar17 + 1" (identifier "pbVar14") (= "=") (binary_expression "pbVar17 + 1" (identifier "pbVar17") (+ "+") (number_literal "1"))) (, ",") (binary_expression "0 < iVar9" (number_literal "0") (< "<") (identifier "iVar9"))) () ")")) (compound_statement "{\n                  iVar9 = iVar9 + -1;\n                  local_c8._0_1_ = (char)(int)ROUND(dVar41);\n                  *pbVar17 = (char)local_c8 + 0x30;\n                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n                  pbVar17 = pbVar14;\n                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;\n                }" ({ "{") (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "local_c8._0_1_ = (char)(int)ROUND(dVar41);" (assignment_expression "local_c8._0_1_ = (char)(int)ROUND(dVar41)" (field_expression "local_c8._0_1_" (identifier "local_c8") (. ".") (field_identifier "_0_1_")) (= "=") (cast_expression "(char)(int)ROUND(dVar41)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (cast_expression "(int)ROUND(dVar41)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "ROUND(dVar41)" (identifier "ROUND") (argument_list "(dVar41)" (( "(") (identifier "dVar41") () ")")))))) (; ";")) (expression_statement "*pbVar17 = (char)local_c8 + 0x30;" (assignment_expression "*pbVar17 = (char)local_c8 + 0x30" (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")) (= "=") (binary_expression "(char)local_c8 + 0x30" (cast_expression "(char)local_c8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_c8")) (+ "+") (number_literal "0x30"))) (; ";")) (expression_statement "dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;" (assignment_expression "dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10" (identifier "dVar41") (= "=") (binary_expression "(dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10" (parenthesized_expression "(dVar41 - (double)(int)ROUND(dVar41))" (( "(") (binary_expression "dVar41 - (double)(int)ROUND(dVar41)" (identifier "dVar41") (- "-") (cast_expression "(double)(int)ROUND(dVar41)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(int)ROUND(dVar41)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "ROUND(dVar41)" (identifier "ROUND") (argument_list "(dVar41)" (( "(") (identifier "dVar41") () ")")))))) () ")")) (* "*") (cast_expression "(double)_DAT_001fae10" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "_DAT_001fae10")))) (; ";")) (expression_statement "pbVar17 = pbVar14;" (assignment_expression "pbVar17 = pbVar14" (identifier "pbVar17") (= "=") (identifier "pbVar14")) (; ";")) (if_statement "if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;" (if "if") (parenthesized_expression "(pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1)" (( "(") (binary_expression "pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1" (identifier "pbVar14") (== "==") (binary_expression "pbVar13 + (ulong)(uVar10 - 1) + 1" (binary_expression "pbVar13 + (ulong)(uVar10 - 1)" (identifier "pbVar13") (+ "+") (call_expression "(ulong)(uVar10 - 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar10 - 1)" (( "(") (binary_expression "uVar10 - 1" (identifier "uVar10") (- "-") (number_literal "1")) () ")")))) (+ "+") (number_literal "1"))) () ")")) (goto_statement "goto LAB_0013ee39;" (goto "goto") (statement_identifier "LAB_0013ee39") (; ";"))) (} "}"))) (expression_statement "*pbVar17 = 0x30;" (assignment_expression "*pbVar17 = 0x30" (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")) (= "=") (number_literal "0x30")) (; ";")) (expression_statement "pbVar17 = pbVar14;" (assignment_expression "pbVar17 = pbVar14" (identifier "pbVar17") (= "=") (identifier "pbVar14")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1)" (( "(") (binary_expression "pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1" (identifier "pbVar14") (!= "!=") (binary_expression "pbVar13 + (ulong)(uVar10 - 1) + 1" (binary_expression "pbVar13 + (ulong)(uVar10 - 1)" (identifier "pbVar13") (+ "+") (call_expression "(ulong)(uVar10 - 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar10 - 1)" (( "(") (binary_expression "uVar10 - 1" (identifier "uVar10") (- "-") (number_literal "1")) () ")")))) (+ "+") (number_literal "1"))) () ")")) (; ";")) (labeled_statement "LAB_0013ee39:\n              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;" (statement_identifier "LAB_0013ee39") (: ":") (expression_statement "pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;" (assignment_expression "pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1" (identifier "pbVar13") (= "=") (binary_expression "pbVar13 + (ulong)(uVar10 - 1) + 1" (binary_expression "pbVar13 + (ulong)(uVar10 - 1)" (identifier "pbVar13") (+ "+") (call_expression "(ulong)(uVar10 - 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar10 - 1)" (( "(") (binary_expression "uVar10 - 1" (identifier "uVar10") (- "-") (number_literal "1")) () ")")))) (+ "+") (number_literal "1"))) (; ";"))) (} "}")))) (goto_statement "goto LAB_0013ee42;" (goto "goto") (statement_identifier "LAB_0013ee42") (; ";")) (} "}"))) (if_statement "if (uVar19 != 0) goto LAB_0013ed90;" (if "if") (parenthesized_expression "(uVar19 != 0)" (( "(") (binary_expression "uVar19 != 0" (identifier "uVar19") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0013ed90;" (goto "goto") (statement_identifier "LAB_0013ed90") (; ";"))) (} "}")) (else_clause "else {\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }" (else "else") (compound_statement "{\n          pbVar13 = pbVar17 + (long)local_c8 + 1;\n          do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);\nLAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }\nLAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }\n        }" ({ "{") (expression_statement "pbVar13 = pbVar17 + (long)local_c8 + 1;" (assignment_expression "pbVar13 = pbVar17 + (long)local_c8 + 1" (identifier "pbVar13") (= "=") (binary_expression "pbVar17 + (long)local_c8 + 1" (binary_expression "pbVar17 + (long)local_c8" (identifier "pbVar17") (+ "+") (cast_expression "(long)local_c8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_c8"))) (+ "+") (number_literal "1"))) (; ";")) (do_statement "do {\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          } while (pbVar17 != pbVar13);" (do "do") (compound_statement "{\n            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }\n            *pbVar14 = 0x30;\n          }" ({ "{") (while_statement "while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }" (while "while") (parenthesized_expression "(pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9)" (( "(") (comma_expression "pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9" (assignment_expression "pbVar14 = pbVar17" (identifier "pbVar14") (= "=") (identifier "pbVar17")) (, ",") (comma_expression "pbVar17 = pbVar14 + 1, 0 < iVar9" (assignment_expression "pbVar17 = pbVar14 + 1" (identifier "pbVar17") (= "=") (binary_expression "pbVar14 + 1" (identifier "pbVar14") (+ "+") (number_literal "1"))) (, ",") (binary_expression "0 < iVar9" (number_literal "0") (< "<") (identifier "iVar9")))) () ")")) (compound_statement "{\n              iVar9 = iVar9 + -1;\n              local_c8._0_1_ = (char)(int)ROUND(dVar41);\n              *pbVar14 = (char)local_c8 + 0x30;\n              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;\n              if (pbVar17 == pbVar13) goto LAB_0013fe8d;\n            }" ({ "{") (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "local_c8._0_1_ = (char)(int)ROUND(dVar41);" (assignment_expression "local_c8._0_1_ = (char)(int)ROUND(dVar41)" (field_expression "local_c8._0_1_" (identifier "local_c8") (. ".") (field_identifier "_0_1_")) (= "=") (cast_expression "(char)(int)ROUND(dVar41)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (cast_expression "(int)ROUND(dVar41)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "ROUND(dVar41)" (identifier "ROUND") (argument_list "(dVar41)" (( "(") (identifier "dVar41") () ")")))))) (; ";")) (expression_statement "*pbVar14 = (char)local_c8 + 0x30;" (assignment_expression "*pbVar14 = (char)local_c8 + 0x30" (pointer_expression "*pbVar14" (* "*") (identifier "pbVar14")) (= "=") (binary_expression "(char)local_c8 + 0x30" (cast_expression "(char)local_c8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_c8")) (+ "+") (number_literal "0x30"))) (; ";")) (expression_statement "dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;" (assignment_expression "dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10" (identifier "dVar41") (= "=") (binary_expression "(dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10" (parenthesized_expression "(dVar41 - (double)(int)ROUND(dVar41))" (( "(") (binary_expression "dVar41 - (double)(int)ROUND(dVar41)" (identifier "dVar41") (- "-") (cast_expression "(double)(int)ROUND(dVar41)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(int)ROUND(dVar41)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "ROUND(dVar41)" (identifier "ROUND") (argument_list "(dVar41)" (( "(") (identifier "dVar41") () ")")))))) () ")")) (* "*") (cast_expression "(double)_DAT_001fae10" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "_DAT_001fae10")))) (; ";")) (if_statement "if (pbVar17 == pbVar13) goto LAB_0013fe8d;" (if "if") (parenthesized_expression "(pbVar17 == pbVar13)" (( "(") (binary_expression "pbVar17 == pbVar13" (identifier "pbVar17") (== "==") (identifier "pbVar13")) () ")")) (goto_statement "goto LAB_0013fe8d;" (goto "goto") (statement_identifier "LAB_0013fe8d") (; ";"))) (} "}"))) (expression_statement "*pbVar14 = 0x30;" (assignment_expression "*pbVar14 = 0x30" (pointer_expression "*pbVar14" (* "*") (identifier "pbVar14")) (= "=") (number_literal "0x30")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pbVar17 != pbVar13)" (( "(") (binary_expression "pbVar17 != pbVar13" (identifier "pbVar17") (!= "!=") (identifier "pbVar13")) () ")")) (; ";")) (labeled_statement "LAB_0013fe8d:\n          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }" (statement_identifier "LAB_0013fe8d") (: ":") (if_statement "if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }" (if "if") (parenthesized_expression "(bVar40 || (bVar35 != 0 || bVar25 != 0))" (( "(") (binary_expression "bVar40 || (bVar35 != 0 || bVar25 != 0)" (identifier "bVar40") (|| "||") (parenthesized_expression "(bVar35 != 0 || bVar25 != 0)" (( "(") (binary_expression "bVar35 != 0 || bVar25 != 0" (binary_expression "bVar35 != 0" (identifier "bVar35") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "bVar25 != 0" (identifier "bVar25") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n            pbVar13 = pbVar14 + 2;\n            *pbVar17 = 0x2e;\n            goto LAB_0013edc4;\n          }" ({ "{") (expression_statement "pbVar13 = pbVar14 + 2;" (assignment_expression "pbVar13 = pbVar14 + 2" (identifier "pbVar13") (= "=") (binary_expression "pbVar14 + 2" (identifier "pbVar14") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*pbVar17 = 0x2e;" (assignment_expression "*pbVar17 = 0x2e" (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")) (= "=") (number_literal "0x2e")) (; ";")) (goto_statement "goto LAB_0013edc4;" (goto "goto") (statement_identifier "LAB_0013edc4") (; ";")) (} "}")))) (labeled_statement "LAB_0013ee42:\n          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }" (statement_identifier "LAB_0013ee42") (: ":") (if_statement "if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }" (if "if") (parenthesized_expression "((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0)))" (( "(") (binary_expression "(local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))" (parenthesized_expression "(local_b5 != 0)" (( "(") (binary_expression "local_b5 != 0" (identifier "local_b5") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(bVar40 || (bVar35 != 0 || bVar25 != 0))" (( "(") (binary_expression "bVar40 || (bVar35 != 0 || bVar25 != 0)" (identifier "bVar40") (|| "||") (parenthesized_expression "(bVar35 != 0 || bVar25 != 0)" (( "(") (binary_expression "bVar35 != 0 || bVar25 != 0" (binary_expression "bVar35 != 0" (identifier "bVar35") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "bVar25 != 0" (identifier "bVar25") (!= "!=") (number_literal "0"))) () ")"))) () ")"))) () ")")) (compound_statement "{\n            while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }\n            if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }\n          }" ({ "{") (while_statement "while (pbVar13[-1] == 0x30) {\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }" (while "while") (parenthesized_expression "(pbVar13[-1] == 0x30)" (( "(") (binary_expression "pbVar13[-1] == 0x30" (subscript_expression "pbVar13[-1]" (identifier "pbVar13") ([ "[") (number_literal "-1") (] "]")) (== "==") (number_literal "0x30")) () ")")) (compound_statement "{\n              pbVar13 = pbVar13 + -1;\n              *pbVar13 = 0;\n            }" ({ "{") (expression_statement "pbVar13 = pbVar13 + -1;" (assignment_expression "pbVar13 = pbVar13 + -1" (identifier "pbVar13") (= "=") (binary_expression "pbVar13 + -1" (identifier "pbVar13") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "*pbVar13 = 0;" (assignment_expression "*pbVar13 = 0" (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (if_statement "if (pbVar13[-1] == 0x2e) {\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }" (if "if") (parenthesized_expression "(pbVar13[-1] == 0x2e)" (( "(") (binary_expression "pbVar13[-1] == 0x2e" (subscript_expression "pbVar13[-1]" (identifier "pbVar13") ([ "[") (number_literal "-1") (] "]")) (== "==") (number_literal "0x2e")) () ")")) (compound_statement "{\n              if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }\n            }" ({ "{") (if_statement "if (bVar25 == 0) {\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }\n              else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }" (if "if") (parenthesized_expression "(bVar25 == 0)" (( "(") (binary_expression "bVar25 == 0" (identifier "bVar25") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                pbVar13[-1] = 0;\n                pbVar13 = pbVar13 + -1;\n              }" ({ "{") (expression_statement "pbVar13[-1] = 0;" (assignment_expression "pbVar13[-1] = 0" (subscript_expression "pbVar13[-1]" (identifier "pbVar13") ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar13 = pbVar13 + -1;" (assignment_expression "pbVar13 = pbVar13 + -1" (identifier "pbVar13") (= "=") (binary_expression "pbVar13 + -1" (identifier "pbVar13") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (else_clause "else {\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }" (else "else") (compound_statement "{\n                *pbVar13 = 0x30;\n                pbVar13 = pbVar13 + 1;\n              }" ({ "{") (expression_statement "*pbVar13 = 0x30;" (assignment_expression "*pbVar13 = 0x30" (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")) (= "=") (number_literal "0x30")) (; ";")) (expression_statement "pbVar13 = pbVar13 + 1;" (assignment_expression "pbVar13 = pbVar13 + 1" (identifier "pbVar13") (= "=") (binary_expression "pbVar13 + 1" (identifier "pbVar13") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (} "}"))) (} "}")))) (} "}")))) (if_statement "if (cVar33 == '\x02') {\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }" (if "if") (parenthesized_expression "(cVar33 == '\x02')" (( "(") (binary_expression "cVar33 == '\x02'" (identifier "cVar33") (== "==") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (compound_statement "{\n          pbVar17 = pbVar13 + 2;\n          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];\n          bVar25 = 0x2b;\n          if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }\n          pbVar13[1] = bVar25;\n          if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }\n          pbVar13 = pbVar17 + 2;\n          cVar18 = (char)(uVar37 / 10);\n          *pbVar17 = cVar18 + 0x30;\n          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;\n        }" ({ "{") (expression_statement "pbVar17 = pbVar13 + 2;" (assignment_expression "pbVar17 = pbVar13 + 2" (identifier "pbVar17") (= "=") (binary_expression "pbVar13 + 2" (identifier "pbVar13") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];" (assignment_expression "*pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]]" (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")) (= "=") (subscript_expression ""0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]]" (string_literal ""0123456789ABCDEF0123456789abcdef"" (" """) (string_content "0123456789ABCDEF0123456789abcdef") (" """)) ([ "[") (subscript_expression "(byte)(&DAT_001f5564)[lVar30 * 6]" (call_expression "(byte)(&DAT_001f5564)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(&DAT_001f5564)" (( "(") (pointer_expression "&DAT_001f5564" (& "&") (identifier "DAT_001f5564")) () ")"))) ([ "[") (binary_expression "lVar30 * 6" (identifier "lVar30") (* "*") (number_literal "6")) (] "]")) (] "]"))) (; ";")) (expression_statement "bVar25 = 0x2b;" (assignment_expression "bVar25 = 0x2b" (identifier "bVar25") (= "=") (number_literal "0x2b")) (; ";")) (if_statement "if ((int)uVar37 < 0) {\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }" (if "if") (parenthesized_expression "((int)uVar37 < 0)" (( "(") (binary_expression "(int)uVar37 < 0" (cast_expression "(int)uVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar37")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            uVar37 = (ulong)(uint)-(int)uVar37;\n            bVar25 = 0x2d;\n          }" ({ "{") (expression_statement "uVar37 = (ulong)(uint)-(int)uVar37;" (assignment_expression "uVar37 = (ulong)(uint)-(int)uVar37" (identifier "uVar37") (= "=") (binary_expression "(ulong)(uint)-(int)uVar37" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uint)" (( "(") (identifier "uint") () ")"))) (- "-") (cast_expression "(int)uVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar37")))) (; ";")) (expression_statement "bVar25 = 0x2d;" (assignment_expression "bVar25 = 0x2d" (identifier "bVar25") (= "=") (number_literal "0x2d")) (; ";")) (} "}"))) (expression_statement "pbVar13[1] = bVar25;" (assignment_expression "pbVar13[1] = bVar25" (subscript_expression "pbVar13[1]" (identifier "pbVar13") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "bVar25")) (; ";")) (if_statement "if (99 < (int)uVar37) {\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }" (if "if") (parenthesized_expression "(99 < (int)uVar37)" (( "(") (binary_expression "99 < (int)uVar37" (number_literal "99") (< "<") (cast_expression "(int)uVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar37"))) () ")")) (compound_statement "{\n            pbVar17 = pbVar13 + 3;\n            pbVar13[2] = (char)(uVar37 / 100) + 0x30;\n            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);\n          }" ({ "{") (expression_statement "pbVar17 = pbVar13 + 3;" (assignment_expression "pbVar17 = pbVar13 + 3" (identifier "pbVar17") (= "=") (binary_expression "pbVar13 + 3" (identifier "pbVar13") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "pbVar13[2] = (char)(uVar37 / 100) + 0x30;" (assignment_expression "pbVar13[2] = (char)(uVar37 / 100) + 0x30" (subscript_expression "pbVar13[2]" (identifier "pbVar13") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "(char)(uVar37 / 100) + 0x30" (cast_expression "(char)(uVar37 / 100)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "(uVar37 / 100)" (( "(") (binary_expression "uVar37 / 100" (identifier "uVar37") (/ "/") (number_literal "100")) () ")"))) (+ "+") (number_literal "0x30"))) (; ";")) (expression_statement "uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);" (assignment_expression "uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100)" (identifier "uVar37") (= "=") (call_expression "(ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uint)" (( "(") (identifier "uint") () ")"))) (argument_list "((int)uVar37 + (int)(uVar37 / 100) * -100)" (( "(") (binary_expression "(int)uVar37 + (int)(uVar37 / 100) * -100" (cast_expression "(int)uVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar37")) (+ "+") (binary_expression "(int)(uVar37 / 100) * -100" (cast_expression "(int)(uVar37 / 100)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar37 / 100)" (( "(") (binary_expression "uVar37 / 100" (identifier "uVar37") (/ "/") (number_literal "100")) () ")"))) (* "*") (number_literal "-100"))) () ")")))) (; ";")) (} "}"))) (expression_statement "pbVar13 = pbVar17 + 2;" (assignment_expression "pbVar13 = pbVar17 + 2" (identifier "pbVar13") (= "=") (binary_expression "pbVar17 + 2" (identifier "pbVar17") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "cVar18 = (char)(uVar37 / 10);" (assignment_expression "cVar18 = (char)(uVar37 / 10)" (identifier "cVar18") (= "=") (cast_expression "(char)(uVar37 / 10)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "(uVar37 / 10)" (( "(") (binary_expression "uVar37 / 10" (identifier "uVar37") (/ "/") (number_literal "10")) () ")")))) (; ";")) (expression_statement "*pbVar17 = cVar18 + 0x30;" (assignment_expression "*pbVar17 = cVar18 + 0x30" (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")) (= "=") (binary_expression "cVar18 + 0x30" (identifier "cVar18") (+ "+") (number_literal "0x30"))) (; ";")) (expression_statement "pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;" (assignment_expression "pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30" (subscript_expression "pbVar17[1]" (identifier "pbVar17") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "(char)uVar37 + cVar18 * -10 + 0x30" (binary_expression "(char)uVar37 + cVar18 * -10" (cast_expression "(char)uVar37" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar37")) (+ "+") (binary_expression "cVar18 * -10" (identifier "cVar18") (* "*") (number_literal "-10"))) (+ "+") (number_literal "0x30"))) (; ";")) (} "}"))) (expression_statement "*pbVar13 = 0;" (assignment_expression "*pbVar13 = 0" (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar9 = (int)((long)pbVar13 - (long)pbVar38);" (assignment_expression "iVar9 = (int)((long)pbVar13 - (long)pbVar38)" (identifier "iVar9") (= "=") (cast_expression "(int)((long)pbVar13 - (long)pbVar38)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((long)pbVar13 - (long)pbVar38)" (( "(") (binary_expression "(long)pbVar13 - (long)pbVar38" (cast_expression "(long)pbVar13" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pbVar13")) (- "-") (cast_expression "(long)pbVar38" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pbVar38"))) () ")")))) (; ";")) (expression_statement "uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;" (assignment_expression "uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff" (identifier "uVar37") (= "=") (binary_expression "(long)pbVar13 - (long)pbVar38 & 0xffffffff" (binary_expression "(long)pbVar13 - (long)pbVar38" (cast_expression "(long)pbVar13" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pbVar13")) (- "-") (cast_expression "(long)pbVar38" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pbVar38"))) (& "&") (number_literal "0xffffffff"))) (; ";")) (if_statement "if (!(bool)(bVar39 & (bVar5 ^ 1U))) {\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }" (if "if") (parenthesized_expression "(!(bool)(bVar39 & (bVar5 ^ 1U)))" (( "(") (unary_expression "!(bool)(bVar39 & (bVar5 ^ 1U))" (! "!") (cast_expression "(bool)(bVar39 & (bVar5 ^ 1U))" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (parenthesized_expression "(bVar39 & (bVar5 ^ 1U))" (( "(") (binary_expression "bVar39 & (bVar5 ^ 1U)" (identifier "bVar39") (& "&") (parenthesized_expression "(bVar5 ^ 1U)" (( "(") (binary_expression "bVar5 ^ 1U" (identifier "bVar5") (^ "^") (number_literal "1U")) () ")"))) () ")")))) () ")")) (compound_statement "{\n          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);\n          goto LAB_0013f018;\n        }" ({ "{") (expression_statement "pbVar24 = (byte *)(ulong)(uVar12 - iVar9);" (assignment_expression "pbVar24 = (byte *)(ulong)(uVar12 - iVar9)" (identifier "pbVar24") (= "=") (cast_expression "(byte *)(ulong)(uVar12 - iVar9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(ulong)(uVar12 - iVar9)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar12 - iVar9)" (( "(") (binary_expression "uVar12 - iVar9" (identifier "uVar12") (- "-") (identifier "iVar9")) () ")"))))) (; ";")) (goto_statement "goto LAB_0013f018;" (goto "goto") (statement_identifier "LAB_0013f018") (; ";")) (} "}"))) (if_statement "if (iVar9 < (int)uVar12) {\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }" (if "if") (parenthesized_expression "(iVar9 < (int)uVar12)" (( "(") (binary_expression "iVar9 < (int)uVar12" (identifier "iVar9") (< "<") (cast_expression "(int)uVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar12"))) () ")")) (compound_statement "{\n          iVar9 = uVar12 - iVar9;\n          if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }\n          pbVar13 = pbVar38 + (bVar7 != 0);\n          do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);\n        }" ({ "{") (expression_statement "iVar9 = uVar12 - iVar9;" (assignment_expression "iVar9 = uVar12 - iVar9" (identifier "iVar9") (= "=") (binary_expression "uVar12 - iVar9" (identifier "uVar12") (- "-") (identifier "iVar9"))) (; ";")) (if_statement "if (iVar9 <= (int)uVar12) {\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }" (if "if") (parenthesized_expression "(iVar9 <= (int)uVar12)" (( "(") (binary_expression "iVar9 <= (int)uVar12" (identifier "iVar9") (<= "<=") (cast_expression "(int)uVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar12"))) () ")")) (compound_statement "{\n            do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);\n          }" ({ "{") (do_statement "do {\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            } while (iVar9 <= (int)lVar27);" (do "do") (compound_statement "{\n              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];\n              lVar27 = lVar27 + -1;\n            }" ({ "{") (expression_statement "pbVar38[lVar27] = pbVar38[lVar27 - iVar9];" (assignment_expression "pbVar38[lVar27] = pbVar38[lVar27 - iVar9]" (subscript_expression "pbVar38[lVar27]" (identifier "pbVar38") ([ "[") (identifier "lVar27") (] "]")) (= "=") (subscript_expression "pbVar38[lVar27 - iVar9]" (identifier "pbVar38") ([ "[") (binary_expression "lVar27 - iVar9" (identifier "lVar27") (- "-") (identifier "iVar9")) (] "]"))) (; ";")) (expression_statement "lVar27 = lVar27 + -1;" (assignment_expression "lVar27 = lVar27 + -1" (identifier "lVar27") (= "=") (binary_expression "lVar27 + -1" (identifier "lVar27") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar9 <= (int)lVar27)" (( "(") (binary_expression "iVar9 <= (int)lVar27" (identifier "iVar9") (<= "<=") (cast_expression "(int)lVar27" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar27"))) () ")")) (; ";")) (} "}"))) (expression_statement "pbVar13 = pbVar38 + (bVar7 != 0);" (assignment_expression "pbVar13 = pbVar38 + (bVar7 != 0)" (identifier "pbVar13") (= "=") (binary_expression "pbVar38 + (bVar7 != 0)" (identifier "pbVar38") (+ "+") (parenthesized_expression "(bVar7 != 0)" (( "(") (binary_expression "bVar7 != 0" (identifier "bVar7") (!= "!=") (number_literal "0")) () ")")))) (; ";")) (do_statement "do {\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);" (do "do") (compound_statement "{\n            *pbVar13 = 0x30;\n            pbVar13 = pbVar13 + 1;\n            uVar37 = (ulong)pbVar24;\n          }" ({ "{") (expression_statement "*pbVar13 = 0x30;" (assignment_expression "*pbVar13 = 0x30" (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")) (= "=") (number_literal "0x30")) (; ";")) (expression_statement "pbVar13 = pbVar13 + 1;" (assignment_expression "pbVar13 = pbVar13 + 1" (identifier "pbVar13") (= "=") (binary_expression "pbVar13 + 1" (identifier "pbVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar37 = (ulong)pbVar24;" (assignment_expression "uVar37 = (ulong)pbVar24" (identifier "uVar37") (= "=") (cast_expression "(ulong)pbVar24" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "pbVar24"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13)" (( "(") (binary_expression "pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13" (binary_expression "pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1" (binary_expression "pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0)" (binary_expression "pbVar38 + (ulong)(iVar9 - 1)" (identifier "pbVar38") (+ "+") (call_expression "(ulong)(iVar9 - 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(iVar9 - 1)" (( "(") (binary_expression "iVar9 - 1" (identifier "iVar9") (- "-") (number_literal "1")) () ")")))) (+ "+") (call_expression "(ulong)(bVar7 != 0)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(bVar7 != 0)" (( "(") (binary_expression "bVar7 != 0" (identifier "bVar7") (!= "!=") (number_literal "0")) () ")")))) (+ "+") (number_literal "1")) (!= "!=") (identifier "pbVar13")) () ")")) (; ";")) (} "}"))) (goto_statement "goto LAB_0013fd63;" (goto "goto") (statement_identifier "LAB_0013fd63") (; ";"))) (case_statement "case '\x04':\n        if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }\n        uVar11 = *(undefined4 *)(param_1 + 3);\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }\n        *(undefined4 *)*puVar26 = uVar11;\n        FUN_0013e580(param_1,pbVar38,0);\n        bVar7 = param_2[1];\n        goto joined_r0x0013ebb8;" (case "case") (char_literal "'\x04'" (' "'") (escape_sequence "\x04") (' "'")) (: ":") (if_statement "if (local_b6 != 0) {\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }" (if "if") (parenthesized_expression "(local_b6 != 0)" (( "(") (binary_expression "local_b6 != 0" (identifier "local_b6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);\n          break;\n        }" ({ "{") (labeled_statement "LAB_0013f287:\n          FUN_0013e580(param_1,pbVar38,0);" (statement_identifier "LAB_0013f287") (: ":") (expression_statement "FUN_0013e580(param_1,pbVar38,0);" (call_expression "FUN_0013e580(param_1,pbVar38,0)" (identifier "FUN_0013e580") (argument_list "(param_1,pbVar38,0)" (( "(") (identifier "param_1") (, ",") (identifier "pbVar38") (, ",") (number_literal "0") () ")"))) (; ";"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "uVar11 = *(undefined4 *)(param_1 + 3);" (assignment_expression "uVar11 = *(undefined4 *)(param_1 + 3)" (identifier "uVar11") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 3)" (* "*") (cast_expression "(undefined4 *)(param_1 + 3)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")"))))) (; ";")) (expression_statement "uVar10 = *param_3;" (assignment_expression "uVar10 = *param_3" (identifier "uVar10") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (if_statement "if (uVar10 < 0x30) {\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }" (if "if") (parenthesized_expression "(uVar10 < 0x30)" (( "(") (binary_expression "uVar10 < 0x30" (identifier "uVar10") (< "<") (number_literal "0x30")) () ")")) (compound_statement "{\n          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }" ({ "{") (expression_statement "puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));" (assignment_expression "puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4))" (identifier "puVar26") (= "=") (cast_expression "(undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4))" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)uVar10 + *(long *)(param_3 + 4))" (( "(") (binary_expression "(ulong)uVar10 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar10" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar10")) (+ "+") (pointer_expression "*(long *)(param_3 + 4)" (* "*") (cast_expression "(long *)(param_3 + 4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 4)" (( "(") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4")) () ")"))))) () ")")))) (; ";")) (expression_statement "*param_3 = uVar10 + 8;" (assignment_expression "*param_3 = uVar10 + 8" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "uVar10 + 8" (identifier "uVar10") (+ "+") (number_literal "8"))) (; ";")) (} "}")) (else_clause "else {\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }" (else "else") (compound_statement "{\n          puVar26 = *(undefined8 **)(param_3 + 2);\n          *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n        }" ({ "{") (expression_statement "puVar26 = *(undefined8 **)(param_3 + 2);" (assignment_expression "puVar26 = *(undefined8 **)(param_3 + 2)" (identifier "puVar26") (= "=") (pointer_expression "*(undefined8 **)(param_3 + 2)" (* "*") (cast_expression "(undefined8 **)(param_3 + 2)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "*(undefined8 **)(param_3 + 2) = puVar26 + 1;" (assignment_expression "*(undefined8 **)(param_3 + 2) = puVar26 + 1" (pointer_expression "*(undefined8 **)(param_3 + 2)" (* "*") (cast_expression "(undefined8 **)(param_3 + 2)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "puVar26 + 1" (identifier "puVar26") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "*(undefined4 *)*puVar26 = uVar11;" (assignment_expression "*(undefined4 *)*puVar26 = uVar11" (pointer_expression "*(undefined4 *)*puVar26" (* "*") (cast_expression "(undefined4 *)*puVar26" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar26" (* "*") (identifier "puVar26")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "FUN_0013e580(param_1,pbVar38,0);" (call_expression "FUN_0013e580(param_1,pbVar38,0)" (identifier "FUN_0013e580") (argument_list "(param_1,pbVar38,0)" (( "(") (identifier "param_1") (, ",") (identifier "pbVar38") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "bVar7 = param_2[1];" (assignment_expression "bVar7 = param_2[1]" (identifier "bVar7") (= "=") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto joined_r0x0013ebb8;" (goto "goto") (statement_identifier "joined_r0x0013ebb8") (; ";"))) (case_statement "case '\x05':" (case "case") (char_literal "'\x05'" (' "'") (escape_sequence "\x05") (' "'")) (: ":")) (case_statement "case '\x06':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }\n        pbVar38 = (byte *)FUN_001408d0(local_d8);\n        if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }\njoined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;\n        pbVar13 = pbVar38;\n        if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }\n        if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }\n        uVar28 = 1;\n        do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);\n        goto LAB_0013eff2;" (case "case") (char_literal "'\x06'" (' "'") (escape_sequence "\x06") (' "'")) (: ":") (if_statement "if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }" (if "if") (parenthesized_expression "(local_b6 == 0)" (( "(") (binary_expression "local_b6 == 0" (identifier "local_b6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }\n          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;\n          if (cVar33 != '\x06') goto LAB_0013f840;\n          local_e0 = pbVar38;\n          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;\n          if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }\nLAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);\n          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);\n          goto LAB_0013fa12;\n        }" ({ "{") (expression_statement "uVar19 = *param_3;" (assignment_expression "uVar19 = *param_3" (identifier "uVar19") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (if_statement "if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }" (if "if") (parenthesized_expression "(uVar19 < 0x30)" (( "(") (binary_expression "uVar19 < 0x30" (identifier "uVar19") (< "<") (number_literal "0x30")) () ")")) (compound_statement "{\n            *param_3 = uVar19 + 8;\n            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }" ({ "{") (expression_statement "*param_3 = uVar19 + 8;" (assignment_expression "*param_3 = uVar19 + 8" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "uVar19 + 8" (identifier "uVar19") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));" (assignment_expression "pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4))" (identifier "pbVar38") (= "=") (pointer_expression "*(byte **)((ulong)uVar19 + *(long *)(param_3 + 4))" (* "*") (cast_expression "(byte **)((ulong)uVar19 + *(long *)(param_3 + 4))" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((ulong)uVar19 + *(long *)(param_3 + 4))" (( "(") (binary_expression "(ulong)uVar19 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar19" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar19")) (+ "+") (pointer_expression "*(long *)(param_3 + 4)" (* "*") (cast_expression "(long *)(param_3 + 4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 4)" (( "(") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4")) () ")"))))) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }" (else "else") (compound_statement "{\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n            pbVar38 = (byte *)*puVar26;\n          }" ({ "{") (expression_statement "puVar26 = *(undefined8 **)(param_3 + 2);" (assignment_expression "puVar26 = *(undefined8 **)(param_3 + 2)" (identifier "puVar26") (= "=") (pointer_expression "*(undefined8 **)(param_3 + 2)" (* "*") (cast_expression "(undefined8 **)(param_3 + 2)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "*(undefined8 **)(param_3 + 2) = puVar26 + 1;" (assignment_expression "*(undefined8 **)(param_3 + 2) = puVar26 + 1" (pointer_expression "*(undefined8 **)(param_3 + 2)" (* "*") (cast_expression "(undefined8 **)(param_3 + 2)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "puVar26 + 1" (identifier "puVar26") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar38 = (byte *)*puVar26;" (assignment_expression "pbVar38 = (byte *)*puVar26" (identifier "pbVar38") (= "=") (cast_expression "(byte *)*puVar26" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar26" (* "*") (identifier "puVar26")))) (; ";")) (} "}")))) (if_statement "if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;" (if "if") (parenthesized_expression "(pbVar38 == (byte *)0x0)" (( "(") (binary_expression "pbVar38 == (byte *)0x0" (identifier "pbVar38") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0013fb9a;" (goto "goto") (statement_identifier "LAB_0013fb9a") (; ";"))) (if_statement "if (cVar33 != '\x06') goto LAB_0013f840;" (if "if") (parenthesized_expression "(cVar33 != '\x06')" (( "(") (binary_expression "cVar33 != '\x06'" (identifier "cVar33") (!= "!=") (char_literal "'\x06'" (' "'") (escape_sequence "\x06") (' "'"))) () ")")) (goto_statement "goto LAB_0013f840;" (goto "goto") (statement_identifier "LAB_0013f840") (; ";"))) (expression_statement "local_e0 = pbVar38;" (assignment_expression "local_e0 = pbVar38" (identifier "local_e0") (= "=") (identifier "pbVar38")) (; ";")) (if_statement "if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;" (if "if") (parenthesized_expression "(((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10))))" (( "(") (binary_expression "((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||\n             ((uVar12 != 0 || (-1 < (int)uVar10)))" (parenthesized_expression "((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0))" (( "(") (binary_expression "(*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)" (parenthesized_expression "(*(int *)(param_1 + 3) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 3) != 0" (pointer_expression "*(int *)(param_1 + 3)" (* "*") (cast_expression "(int *)(param_1 + 3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(int *)((long)param_1 + 0x14) == 0)" (( "(") (binary_expression "*(int *)((long)param_1 + 0x14) == 0" (pointer_expression "*(int *)((long)param_1 + 0x14)" (* "*") (cast_expression "(int *)((long)param_1 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x14)" (( "(") (binary_expression "(long)param_1 + 0x14" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x14")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((uVar12 != 0 || (-1 < (int)uVar10)))" (( "(") (parenthesized_expression "(uVar12 != 0 || (-1 < (int)uVar10))" (( "(") (binary_expression "uVar12 != 0 || (-1 < (int)uVar10)" (binary_expression "uVar12 != 0" (identifier "uVar12") (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "(-1 < (int)uVar10)" (( "(") (binary_expression "-1 < (int)uVar10" (number_literal "-1") (< "<") (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10"))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto joined_r0x0013fbae;" (goto "goto") (statement_identifier "joined_r0x0013fbae") (; ";"))) (if_statement "if (*(char *)((long)param_1 + 0x1c) == '\0') {\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }" (if "if") (parenthesized_expression "(*(char *)((long)param_1 + 0x1c) == '\0')" (( "(") (binary_expression "*(char *)((long)param_1 + 0x1c) == '\0'" (pointer_expression "*(char *)((long)param_1 + 0x1c)" (* "*") (cast_expression "(char *)((long)param_1 + 0x1c)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x1c)" (( "(") (binary_expression "(long)param_1 + 0x1c" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x1c")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            param_1[1] = pbVar38;\n            uVar11 = (*DAT_0021f288)(pbVar38);\n            *(undefined4 *)(param_1 + 2) = uVar11;\n            sVar15 = strlen((char *)pbVar38);\n            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;\n            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;\n            FUN_0013e580(param_1,pbVar38,0);\n            break;\n          }" ({ "{") (expression_statement "param_1[1] = pbVar38;" (assignment_expression "param_1[1] = pbVar38" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "pbVar38")) (; ";")) (expression_statement "uVar11 = (*DAT_0021f288)(pbVar38);" (assignment_expression "uVar11 = (*DAT_0021f288)(pbVar38)" (identifier "uVar11") (= "=") (call_expression "(*DAT_0021f288)(pbVar38)" (parenthesized_expression "(*DAT_0021f288)" (( "(") (pointer_expression "*DAT_0021f288" (* "*") (identifier "DAT_0021f288")) () ")")) (argument_list "(pbVar38)" (( "(") (identifier "pbVar38") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 2) = uVar11;" (assignment_expression "*(undefined4 *)(param_1 + 2) = uVar11" (pointer_expression "*(undefined4 *)(param_1 + 2)" (* "*") (cast_expression "(undefined4 *)(param_1 + 2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 2)" (( "(") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "sVar15 = strlen((char *)pbVar38);" (assignment_expression "sVar15 = strlen((char *)pbVar38)" (identifier "sVar15") (= "=") (call_expression "strlen((char *)pbVar38)" (identifier "strlen") (argument_list "((char *)pbVar38)" (( "(") (cast_expression "(char *)pbVar38" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar38")) () ")")))) (; ";")) (expression_statement "*(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;" (assignment_expression "*(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4" (pointer_expression "*(byte *)((long)param_1 + 0x1d)" (* "*") (cast_expression "(byte *)((long)param_1 + 0x1d)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x1d)" (( "(") (binary_expression "(long)param_1 + 0x1d" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x1d")) () ")")))) (= "=") (binary_expression "*(byte *)((long)param_1 + 0x1d) | 4" (pointer_expression "*(byte *)((long)param_1 + 0x1d)" (* "*") (cast_expression "(byte *)((long)param_1 + 0x1d)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x1d)" (( "(") (binary_expression "(long)param_1 + 0x1d" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x1d")) () ")")))) (| "|") (number_literal "4"))) (; ";")) (expression_statement "*(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;" (assignment_expression "*(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff" (pointer_expression "*(uint *)(param_1 + 3)" (* "*") (cast_expression "(uint *)(param_1 + 3)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")")))) (= "=") (binary_expression "(uint)sVar15 & 0x7fffffff" (cast_expression "(uint)sVar15" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "sVar15")) (& "&") (number_literal "0x7fffffff"))) (; ";")) (expression_statement "FUN_0013e580(param_1,pbVar38,0);" (call_expression "FUN_0013e580(param_1,pbVar38,0)" (identifier "FUN_0013e580") (argument_list "(param_1,pbVar38,0)" (( "(") (identifier "param_1") (, ",") (identifier "pbVar38") (, ",") (number_literal "0") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (labeled_statement "LAB_0013fbb4:\n          sVar15 = strlen((char *)pbVar38);" (statement_identifier "LAB_0013fbb4") (: ":") (expression_statement "sVar15 = strlen((char *)pbVar38);" (assignment_expression "sVar15 = strlen((char *)pbVar38)" (identifier "sVar15") (= "=") (call_expression "strlen((char *)pbVar38)" (identifier "strlen") (argument_list "((char *)pbVar38)" (( "(") (cast_expression "(char *)pbVar38" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar38")) () ")")))) (; ";"))) (expression_statement "uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);" (assignment_expression "uVar37 = (ulong)((uint)sVar15 & 0x7fffffff)" (identifier "uVar37") (= "=") (call_expression "(ulong)((uint)sVar15 & 0x7fffffff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((uint)sVar15 & 0x7fffffff)" (( "(") (binary_expression "(uint)sVar15 & 0x7fffffff" (cast_expression "(uint)sVar15" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "sVar15")) (& "&") (number_literal "0x7fffffff")) () ")")))) (; ";")) (goto_statement "goto LAB_0013fa12;" (goto "goto") (statement_identifier "LAB_0013fa12") (; ";")) (} "}"))) (expression_statement "pbVar38 = (byte *)FUN_001408d0(local_d8);" (assignment_expression "pbVar38 = (byte *)FUN_001408d0(local_d8)" (identifier "pbVar38") (= "=") (cast_expression "(byte *)FUN_001408d0(local_d8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001408d0(local_d8)" (identifier "FUN_001408d0") (argument_list "(local_d8)" (( "(") (identifier "local_d8") () ")"))))) (; ";")) (if_statement "if (pbVar38 == (byte *)0x0) {\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }\n        else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }" (if "if") (parenthesized_expression "(pbVar38 == (byte *)0x0)" (( "(") (binary_expression "pbVar38 == (byte *)0x0" (identifier "pbVar38") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0013fb9a:\n          local_e0 = (byte *)0x0;\n          pbVar38 = &DAT_001e836f;\n        }" ({ "{") (labeled_statement "LAB_0013fb9a:\n          local_e0 = (byte *)0x0;" (statement_identifier "LAB_0013fb9a") (: ":") (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" (identifier "local_e0") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "pbVar38 = &DAT_001e836f;" (assignment_expression "pbVar38 = &DAT_001e836f" (identifier "pbVar38") (= "=") (pointer_expression "&DAT_001e836f" (& "&") (identifier "DAT_001e836f"))) (; ";")) (} "}")) (else_clause "else {\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }" (else "else") (compound_statement "{\nLAB_0013f840:\n          local_e0 = (byte *)0x0;\n        }" ({ "{") (labeled_statement "LAB_0013f840:\n          local_e0 = (byte *)0x0;" (statement_identifier "LAB_0013f840") (: ":") (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" (identifier "local_e0") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (} "}")))) (labeled_statement "joined_r0x0013fbae:\n        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;" (statement_identifier "joined_r0x0013fbae") (: ":") (if_statement "if (uVar10 == 0xffffffff) goto LAB_0013fbb4;" (if "if") (parenthesized_expression "(uVar10 == 0xffffffff)" (( "(") (binary_expression "uVar10 == 0xffffffff" (identifier "uVar10") (== "==") (number_literal "0xffffffff")) () ")")) (goto_statement "goto LAB_0013fbb4;" (goto "goto") (statement_identifier "LAB_0013fbb4") (; ";")))) (expression_statement "pbVar13 = pbVar38;" (assignment_expression "pbVar13 = pbVar38" (identifier "pbVar13") (= "=") (identifier "pbVar38")) (; ";")) (if_statement "if (bVar25 != 0) {\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }" (if "if") (parenthesized_expression "(bVar25 != 0)" (( "(") (binary_expression "bVar25 != 0" (identifier "bVar25") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }\n          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);\n          bVar25 = 1;\n          goto LAB_0013fa12;\n        }" ({ "{") (while_statement "while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))\n          {\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }" (while "while") (parenthesized_expression "((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))" (( "(") (parenthesized_expression "(pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0))" (( "(") (comma_expression "pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)" (assignment_expression "pbVar17 = pbVar13" (identifier "pbVar17") (= "=") (identifier "pbVar13")) (, ",") (comma_expression "uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)" (assignment_expression "uVar10 = uVar10 - 1" (identifier "uVar10") (= "=") (binary_expression "uVar10 - 1" (identifier "uVar10") (- "-") (number_literal "1"))) (, ",") (binary_expression "uVar10 != 0xffffffff && (*pbVar17 != 0)" (binary_expression "uVar10 != 0xffffffff" (identifier "uVar10") (!= "!=") (number_literal "0xffffffff")) (&& "&&") (parenthesized_expression "(*pbVar17 != 0)" (( "(") (binary_expression "*pbVar17 != 0" (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")) (!= "!=") (number_literal "0")) () ")"))))) () ")")) () ")")) (compound_statement "{\n            pbVar13 = pbVar17 + 1;\n            if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }\n          }" ({ "{") (expression_statement "pbVar13 = pbVar17 + 1;" (assignment_expression "pbVar13 = pbVar17 + 1" (identifier "pbVar13") (= "=") (binary_expression "pbVar17 + 1" (identifier "pbVar17") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (0xbf < *pbVar17) {\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }" (if "if") (parenthesized_expression "(0xbf < *pbVar17)" (( "(") (binary_expression "0xbf < *pbVar17" (number_literal "0xbf") (< "<") (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17"))) () ")")) (compound_statement "{\n              bVar7 = pbVar17[1];\n              while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }\n            }" ({ "{") (expression_statement "bVar7 = pbVar17[1];" (assignment_expression "bVar7 = pbVar17[1]" (identifier "bVar7") (= "=") (subscript_expression "pbVar17[1]" (identifier "pbVar17") ([ "[") (number_literal "1") (] "]"))) (; ";")) (while_statement "while ((bVar7 & 0xc0) == 0x80) {\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }" (while "while") (parenthesized_expression "((bVar7 & 0xc0) == 0x80)" (( "(") (binary_expression "(bVar7 & 0xc0) == 0x80" (parenthesized_expression "(bVar7 & 0xc0)" (( "(") (binary_expression "bVar7 & 0xc0" (identifier "bVar7") (& "&") (number_literal "0xc0")) () ")")) (== "==") (number_literal "0x80")) () ")")) (compound_statement "{\n                pbVar13 = pbVar13 + 1;\n                bVar7 = *pbVar13;\n              }" ({ "{") (expression_statement "pbVar13 = pbVar13 + 1;" (assignment_expression "pbVar13 = pbVar13 + 1" (identifier "pbVar13") (= "=") (binary_expression "pbVar13 + 1" (identifier "pbVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar7 = *pbVar13;" (assignment_expression "bVar7 = *pbVar13" (identifier "bVar7") (= "=") (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);" (assignment_expression "uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38)" (identifier "uVar37") (= "=") (call_expression "(ulong)(uint)((int)pbVar17 - (int)pbVar38)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uint)" (( "(") (identifier "uint") () ")"))) (argument_list "((int)pbVar17 - (int)pbVar38)" (( "(") (binary_expression "(int)pbVar17 - (int)pbVar38" (cast_expression "(int)pbVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar17")) (- "-") (cast_expression "(int)pbVar38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar38"))) () ")")))) (; ";")) (expression_statement "bVar25 = 1;" (assignment_expression "bVar25 = 1" (identifier "bVar25") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0013fa12;" (goto "goto") (statement_identifier "LAB_0013fa12") (; ";")) (} "}"))) (if_statement "if ((uVar10 == 0) || (*pbVar38 == 0)) {\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }" (if "if") (parenthesized_expression "((uVar10 == 0) || (*pbVar38 == 0))" (( "(") (binary_expression "(uVar10 == 0) || (*pbVar38 == 0)" (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*pbVar38 == 0)" (( "(") (binary_expression "*pbVar38 == 0" (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          uVar37 = 0;\n          goto LAB_0013f018;\n        }" ({ "{") (expression_statement "uVar37 = 0;" (assignment_expression "uVar37 = 0" (identifier "uVar37") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0013f018;" (goto "goto") (statement_identifier "LAB_0013f018") (; ";")) (} "}"))) (expression_statement "uVar28 = 1;" (assignment_expression "uVar28 = 1" (identifier "uVar28") (= "=") (number_literal "1")) (; ";")) (do_statement "do {\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        } while (*pbVar13 != 0);" (do "do") (compound_statement "{\n          uVar37 = uVar28 & 0xffffffff;\n          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;\n          pbVar13 = pbVar38 + uVar28;\n          uVar28 = uVar28 + 1;\n        }" ({ "{") (expression_statement "uVar37 = uVar28 & 0xffffffff;" (assignment_expression "uVar37 = uVar28 & 0xffffffff" (identifier "uVar37") (= "=") (binary_expression "uVar28 & 0xffffffff" (identifier "uVar28") (& "&") (number_literal "0xffffffff"))) (; ";")) (if_statement "if ((ulong)(uVar10 - 1) + 1 == uVar28) break;" (if "if") (parenthesized_expression "((ulong)(uVar10 - 1) + 1 == uVar28)" (( "(") (binary_expression "(ulong)(uVar10 - 1) + 1 == uVar28" (binary_expression "(ulong)(uVar10 - 1) + 1" (call_expression "(ulong)(uVar10 - 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar10 - 1)" (( "(") (binary_expression "uVar10 - 1" (identifier "uVar10") (- "-") (number_literal "1")) () ")"))) (+ "+") (number_literal "1")) (== "==") (identifier "uVar28")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pbVar13 = pbVar38 + uVar28;" (assignment_expression "pbVar13 = pbVar38 + uVar28" (identifier "pbVar13") (= "=") (binary_expression "pbVar38 + uVar28" (identifier "pbVar38") (+ "+") (identifier "uVar28"))) (; ";")) (expression_statement "uVar28 = uVar28 + 1;" (assignment_expression "uVar28 = uVar28 + 1" (identifier "uVar28") (= "=") (binary_expression "uVar28 + 1" (identifier "uVar28") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*pbVar13 != 0)" (( "(") (binary_expression "*pbVar13 != 0" (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")) (!= "!=") (number_literal "0")) () ")")) (; ";")) (goto_statement "goto LAB_0013eff2;" (goto "goto") (statement_identifier "LAB_0013eff2") (; ";"))) (case_statement "case '\a':\n        local_88[0] = 0x25;\n        pbVar24 = (byte *)(ulong)(uVar12 - 1);\n        pbVar38 = local_88;\n        uVar37 = 1;\n        local_e0 = (byte *)0x0;\n        goto LAB_0013f018;" (case "case") (char_literal "'\a'" (' "'") (escape_sequence "\a") (' "'")) (: ":") (expression_statement "local_88[0] = 0x25;" (assignment_expression "local_88[0] = 0x25" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0x25")) (; ";")) (expression_statement "pbVar24 = (byte *)(ulong)(uVar12 - 1);" (assignment_expression "pbVar24 = (byte *)(ulong)(uVar12 - 1)" (identifier "pbVar24") (= "=") (cast_expression "(byte *)(ulong)(uVar12 - 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(ulong)(uVar12 - 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar12 - 1)" (( "(") (binary_expression "uVar12 - 1" (identifier "uVar12") (- "-") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "pbVar38 = local_88;" (assignment_expression "pbVar38 = local_88" (identifier "pbVar38") (= "=") (identifier "local_88")) (; ";")) (expression_statement "uVar37 = 1;" (assignment_expression "uVar37 = 1" (identifier "uVar37") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" (identifier "local_e0") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_0013f018;" (goto "goto") (statement_identifier "LAB_0013f018") (; ";"))) (case_statement "case '\b':\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }\n        if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }\n        if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }\n        pbVar38 = local_88;\n        FUN_0013e580(param_1,pbVar38,uVar37);\n        break;" (case "case") (char_literal "'\b'" (' "'") (escape_sequence "\b") (' "'")) (: ":") (if_statement "if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }\n        else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }" (if "if") (parenthesized_expression "(local_b6 == 0)" (( "(") (binary_expression "local_b6 == 0" (identifier "local_b6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }\n          if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }\n          local_88[0] = (byte)uVar19;\n          uVar37 = 1;\n          uVar19 = 1;\n        }" ({ "{") (expression_statement "uVar19 = *param_3;" (assignment_expression "uVar19 = *param_3" (identifier "uVar19") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (if_statement "if (uVar19 < 0x30) {\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }\n          else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }" (if "if") (parenthesized_expression "(uVar19 < 0x30)" (( "(") (binary_expression "uVar19 < 0x30" (identifier "uVar19") (< "<") (number_literal "0x30")) () ")")) (compound_statement "{\n            *param_3 = uVar19 + 8;\n            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));\n          }" ({ "{") (expression_statement "*param_3 = uVar19 + 8;" (assignment_expression "*param_3 = uVar19 + 8" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "uVar19 + 8" (identifier "uVar19") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));" (assignment_expression "uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4))" (identifier "uVar19") (= "=") (pointer_expression "*(uint *)((ulong)uVar19 + *(long *)(param_3 + 4))" (* "*") (cast_expression "(uint *)((ulong)uVar19 + *(long *)(param_3 + 4))" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)uVar19 + *(long *)(param_3 + 4))" (( "(") (binary_expression "(ulong)uVar19 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar19" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar19")) (+ "+") (pointer_expression "*(long *)(param_3 + 4)" (* "*") (cast_expression "(long *)(param_3 + 4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 4)" (( "(") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4")) () ")"))))) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }" (else "else") (compound_statement "{\n            puVar32 = *(uint **)(param_3 + 2);\n            *(uint **)(param_3 + 2) = puVar32 + 2;\n            uVar19 = *puVar32;\n          }" ({ "{") (expression_statement "puVar32 = *(uint **)(param_3 + 2);" (assignment_expression "puVar32 = *(uint **)(param_3 + 2)" (identifier "puVar32") (= "=") (pointer_expression "*(uint **)(param_3 + 2)" (* "*") (cast_expression "(uint **)(param_3 + 2)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "*(uint **)(param_3 + 2) = puVar32 + 2;" (assignment_expression "*(uint **)(param_3 + 2) = puVar32 + 2" (pointer_expression "*(uint **)(param_3 + 2)" (* "*") (cast_expression "(uint **)(param_3 + 2)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "puVar32 + 2" (identifier "puVar32") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "uVar19 = *puVar32;" (assignment_expression "uVar19 = *puVar32" (identifier "uVar19") (= "=") (pointer_expression "*puVar32" (* "*") (identifier "puVar32"))) (; ";")) (} "}")))) (if_statement "if (0x7f < uVar19) {\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }" (if "if") (parenthesized_expression "(0x7f < uVar19)" (( "(") (binary_expression "0x7f < uVar19" (number_literal "0x7f") (< "<") (identifier "uVar19")) () ")")) (compound_statement "{\n            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;\n            bVar7 = (byte)(uVar19 >> 6);\n            if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }\n            goto LAB_0013fa75;\n          }" ({ "{") (expression_statement "cVar18 = ((byte)uVar19 & 0x3f) + 0x80;" (assignment_expression "cVar18 = ((byte)uVar19 & 0x3f) + 0x80" (identifier "cVar18") (= "=") (binary_expression "((byte)uVar19 & 0x3f) + 0x80" (parenthesized_expression "((byte)uVar19 & 0x3f)" (( "(") (binary_expression "(byte)uVar19 & 0x3f" (cast_expression "(byte)uVar19" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar19")) (& "&") (number_literal "0x3f")) () ")")) (+ "+") (number_literal "0x80"))) (; ";")) (expression_statement "bVar7 = (byte)(uVar19 >> 6);" (assignment_expression "bVar7 = (byte)(uVar19 >> 6)" (identifier "bVar7") (= "=") (call_expression "(byte)(uVar19 >> 6)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uVar19 >> 6)" (( "(") (binary_expression "uVar19 >> 6" (identifier "uVar19") (>> ">>") (number_literal "6")) () ")")))) (; ";")) (if_statement "if (uVar19 < 0x800) {\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }\n            else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }" (if "if") (parenthesized_expression "(uVar19 < 0x800)" (( "(") (binary_expression "uVar19 < 0x800" (identifier "uVar19") (< "<") (number_literal "0x800")) () ")")) (compound_statement "{\n              local_88[1] = cVar18;\n              uVar37 = 2;\n              local_88[0] = bVar7 - 0x40;\n            }" ({ "{") (expression_statement "local_88[1] = cVar18;" (assignment_expression "local_88[1] = cVar18" (subscript_expression "local_88[1]" (identifier "local_88") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "cVar18")) (; ";")) (expression_statement "uVar37 = 2;" (assignment_expression "uVar37 = 2" (identifier "uVar37") (= "=") (number_literal "2")) (; ";")) (expression_statement "local_88[0] = bVar7 - 0x40;" (assignment_expression "local_88[0] = bVar7 - 0x40" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "bVar7 - 0x40" (identifier "bVar7") (- "-") (number_literal "0x40"))) (; ";")) (} "}")) (else_clause "else {\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }" (else "else") (compound_statement "{\n              local_88[2] = (bVar7 & 0x3f) + 0x80;\n              bVar7 = (byte)(uVar19 >> 0xc);\n              if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }\n            }" ({ "{") (expression_statement "local_88[2] = (bVar7 & 0x3f) + 0x80;" (assignment_expression "local_88[2] = (bVar7 & 0x3f) + 0x80" (subscript_expression "local_88[2]" (identifier "local_88") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "(bVar7 & 0x3f) + 0x80" (parenthesized_expression "(bVar7 & 0x3f)" (( "(") (binary_expression "bVar7 & 0x3f" (identifier "bVar7") (& "&") (number_literal "0x3f")) () ")")) (+ "+") (number_literal "0x80"))) (; ";")) (expression_statement "bVar7 = (byte)(uVar19 >> 0xc);" (assignment_expression "bVar7 = (byte)(uVar19 >> 0xc)" (identifier "bVar7") (= "=") (call_expression "(byte)(uVar19 >> 0xc)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uVar19 >> 0xc)" (( "(") (binary_expression "uVar19 >> 0xc" (identifier "uVar19") (>> ">>") (number_literal "0xc")) () ")")))) (; ";")) (if_statement "if (uVar19 < 0x10000) {\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }\n              else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }" (if "if") (parenthesized_expression "(uVar19 < 0x10000)" (( "(") (binary_expression "uVar19 < 0x10000" (identifier "uVar19") (< "<") (number_literal "0x10000")) () ")")) (compound_statement "{\n                local_88[1] = local_88[2];\n                uVar37 = 3;\n                local_88[0] = bVar7 - 0x20;\n                local_88[2] = cVar18;\n              }" ({ "{") (expression_statement "local_88[1] = local_88[2];" (assignment_expression "local_88[1] = local_88[2]" (subscript_expression "local_88[1]" (identifier "local_88") ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "local_88[2]" (identifier "local_88") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar37 = 3;" (assignment_expression "uVar37 = 3" (identifier "uVar37") (= "=") (number_literal "3")) (; ";")) (expression_statement "local_88[0] = bVar7 - 0x20;" (assignment_expression "local_88[0] = bVar7 - 0x20" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "bVar7 - 0x20" (identifier "bVar7") (- "-") (number_literal "0x20"))) (; ";")) (expression_statement "local_88[2] = cVar18;" (assignment_expression "local_88[2] = cVar18" (subscript_expression "local_88[2]" (identifier "local_88") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "cVar18")) (; ";")) (} "}")) (else_clause "else {\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }" (else "else") (compound_statement "{\n                uVar37 = 4;\n                local_88[3] = cVar18;\n                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;\n                local_88[1] = (bVar7 & 0x3f) + 0x80;\n              }" ({ "{") (expression_statement "uVar37 = 4;" (assignment_expression "uVar37 = 4" (identifier "uVar37") (= "=") (number_literal "4")) (; ";")) (expression_statement "local_88[3] = cVar18;" (assignment_expression "local_88[3] = cVar18" (subscript_expression "local_88[3]" (identifier "local_88") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "cVar18")) (; ";")) (expression_statement "local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;" (assignment_expression "local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "((byte)(uVar19 >> 0x12) & 7) - 0x10" (parenthesized_expression "((byte)(uVar19 >> 0x12) & 7)" (( "(") (binary_expression "(byte)(uVar19 >> 0x12) & 7" (call_expression "(byte)(uVar19 >> 0x12)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uVar19 >> 0x12)" (( "(") (binary_expression "uVar19 >> 0x12" (identifier "uVar19") (>> ">>") (number_literal "0x12")) () ")"))) (& "&") (number_literal "7")) () ")")) (- "-") (number_literal "0x10"))) (; ";")) (expression_statement "local_88[1] = (bVar7 & 0x3f) + 0x80;" (assignment_expression "local_88[1] = (bVar7 & 0x3f) + 0x80" (subscript_expression "local_88[1]" (identifier "local_88") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "(bVar7 & 0x3f) + 0x80" (parenthesized_expression "(bVar7 & 0x3f)" (( "(") (binary_expression "bVar7 & 0x3f" (identifier "bVar7") (& "&") (number_literal "0x3f")) () ")")) (+ "+") (number_literal "0x80"))) (; ";")) (} "}")))) (} "}")))) (goto_statement "goto LAB_0013fa75;" (goto "goto") (statement_identifier "LAB_0013fa75") (; ";")) (} "}"))) (expression_statement "local_88[0] = (byte)uVar19;" (assignment_expression "local_88[0] = (byte)uVar19" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(byte)uVar19" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar19"))) (; ";")) (expression_statement "uVar37 = 1;" (assignment_expression "uVar37 = 1" (identifier "uVar37") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar19 = 1;" (assignment_expression "uVar19 = 1" (identifier "uVar19") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }" (else "else") (compound_statement "{\n          pbVar38 = (byte *)FUN_001408d0(local_d8);\n          if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }\n          uVar37 = 1;\nLAB_0013fa75:\n          uVar19 = (uint)uVar37;\n        }" ({ "{") (expression_statement "pbVar38 = (byte *)FUN_001408d0(local_d8);" (assignment_expression "pbVar38 = (byte *)FUN_001408d0(local_d8)" (identifier "pbVar38") (= "=") (cast_expression "(byte *)FUN_001408d0(local_d8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001408d0(local_d8)" (identifier "FUN_001408d0") (argument_list "(local_d8)" (( "(") (identifier "local_d8") () ")"))))) (; ";")) (if_statement "if (pbVar38 == (byte *)0x0) {\n            local_88[0] = 0;\n          }\n          else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }" (if "if") (parenthesized_expression "(pbVar38 == (byte *)0x0)" (( "(") (binary_expression "pbVar38 == (byte *)0x0" (identifier "pbVar38") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            local_88[0] = 0;\n          }" ({ "{") (expression_statement "local_88[0] = 0;" (assignment_expression "local_88[0] = 0" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }" (else "else") (compound_statement "{\n            local_88[0] = *pbVar38;\n            if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }\n          }" ({ "{") (expression_statement "local_88[0] = *pbVar38;" (assignment_expression "local_88[0] = *pbVar38" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (= "=") (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38"))) (; ";")) (if_statement "if ((*pbVar38 & 0xc0) == 0xc0) {\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }" (if "if") (parenthesized_expression "((*pbVar38 & 0xc0) == 0xc0)" (( "(") (binary_expression "(*pbVar38 & 0xc0) == 0xc0" (parenthesized_expression "(*pbVar38 & 0xc0)" (( "(") (binary_expression "*pbVar38 & 0xc0" (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")) (& "&") (number_literal "0xc0")) () ")")) (== "==") (number_literal "0xc0")) () ")")) (compound_statement "{\n              uVar28 = 1;\n              do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);\n              uVar37 = 4;\n              goto LAB_0013fa75;\n            }" ({ "{") (expression_statement "uVar28 = 1;" (assignment_expression "uVar28 = 1" (identifier "uVar28") (= "=") (number_literal "1")) (; ";")) (do_statement "do {\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              } while (uVar28 != 4);" (do "do") (compound_statement "{\n                uVar37 = uVar28 & 0xffffffff;\n                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;\n                local_88[uVar28] = pbVar38[uVar28];\n                uVar28 = uVar28 + 1;\n              }" ({ "{") (expression_statement "uVar37 = uVar28 & 0xffffffff;" (assignment_expression "uVar37 = uVar28 & 0xffffffff" (identifier "uVar37") (= "=") (binary_expression "uVar28 & 0xffffffff" (identifier "uVar28") (& "&") (number_literal "0xffffffff"))) (; ";")) (if_statement "if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;" (if "if") (parenthesized_expression "((pbVar38[uVar28] & 0xc0) != 0x80)" (( "(") (binary_expression "(pbVar38[uVar28] & 0xc0) != 0x80" (parenthesized_expression "(pbVar38[uVar28] & 0xc0)" (( "(") (binary_expression "pbVar38[uVar28] & 0xc0" (subscript_expression "pbVar38[uVar28]" (identifier "pbVar38") ([ "[") (identifier "uVar28") (] "]")) (& "&") (number_literal "0xc0")) () ")")) (!= "!=") (number_literal "0x80")) () ")")) (goto_statement "goto LAB_0013fa75;" (goto "goto") (statement_identifier "LAB_0013fa75") (; ";"))) (expression_statement "local_88[uVar28] = pbVar38[uVar28];" (assignment_expression "local_88[uVar28] = pbVar38[uVar28]" (subscript_expression "local_88[uVar28]" (identifier "local_88") ([ "[") (identifier "uVar28") (] "]")) (= "=") (subscript_expression "pbVar38[uVar28]" (identifier "pbVar38") ([ "[") (identifier "uVar28") (] "]"))) (; ";")) (expression_statement "uVar28 = uVar28 + 1;" (assignment_expression "uVar28 = uVar28 + 1" (identifier "uVar28") (= "=") (binary_expression "uVar28 + 1" (identifier "uVar28") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar28 != 4)" (( "(") (binary_expression "uVar28 != 4" (identifier "uVar28") (!= "!=") (number_literal "4")) () ")")) (; ";")) (expression_statement "uVar37 = 4;" (assignment_expression "uVar37 = 4" (identifier "uVar37") (= "=") (number_literal "4")) (; ";")) (goto_statement "goto LAB_0013fa75;" (goto "goto") (statement_identifier "LAB_0013fa75") (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar37 = 1;" (assignment_expression "uVar37 = 1" (identifier "uVar37") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_0013fa75:\n          uVar19 = (uint)uVar37;" (statement_identifier "LAB_0013fa75") (: ":") (expression_statement "uVar19 = (uint)uVar37;" (assignment_expression "uVar19 = (uint)uVar37" (identifier "uVar19") (= "=") (cast_expression "(uint)uVar37" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar37"))) (; ";"))) (} "}")))) (if_statement "if (1 < (int)uVar10) {\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }" (if "if") (parenthesized_expression "(1 < (int)uVar10)" (( "(") (binary_expression "1 < (int)uVar10" (number_literal "1") (< "<") (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10"))) () ")")) (compound_statement "{\n          iVar9 = uVar10 - 1;\n          uVar12 = uVar12 - iVar9;\n          if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }\n          do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);\n          uVar37 = (ulong)uVar19;\n          pbVar24 = local_e0;\n          uVar12 = (uint)local_e0;\n        }" ({ "{") (expression_statement "iVar9 = uVar10 - 1;" (assignment_expression "iVar9 = uVar10 - 1" (identifier "iVar9") (= "=") (binary_expression "uVar10 - 1" (identifier "uVar10") (- "-") (number_literal "1"))) (; ";")) (expression_statement "uVar12 = uVar12 - iVar9;" (assignment_expression "uVar12 = uVar12 - iVar9" (identifier "uVar12") (= "=") (binary_expression "uVar12 - iVar9" (identifier "uVar12") (- "-") (identifier "iVar9"))) (; ";")) (if_statement "if (((int)uVar12 < 2) || (bVar5)) {\n            local_e0 = (byte *)(ulong)uVar12;\n          }\n          else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }" (if "if") (parenthesized_expression "(((int)uVar12 < 2) || (bVar5))" (( "(") (binary_expression "((int)uVar12 < 2) || (bVar5)" (parenthesized_expression "((int)uVar12 < 2)" (( "(") (binary_expression "(int)uVar12 < 2" (cast_expression "(int)uVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar12")) (< "<") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "(bVar5)" (( "(") (identifier "bVar5") () ")"))) () ")")) (compound_statement "{\n            local_e0 = (byte *)(ulong)uVar12;\n          }" ({ "{") (expression_statement "local_e0 = (byte *)(ulong)uVar12;" (assignment_expression "local_e0 = (byte *)(ulong)uVar12" (identifier "local_e0") (= "=") (cast_expression "(byte *)(ulong)uVar12" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(ulong)uVar12" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar12")))) (; ";")) (} "}")) (else_clause "else {\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }" (else "else") (compound_statement "{\n            FUN_0013e4b0(param_1,uVar12 - 1,0x20);\n            local_e0 = (byte *)0x0;\n          }" ({ "{") (expression_statement "FUN_0013e4b0(param_1,uVar12 - 1,0x20);" (call_expression "FUN_0013e4b0(param_1,uVar12 - 1,0x20)" (identifier "FUN_0013e4b0") (argument_list "(param_1,uVar12 - 1,0x20)" (( "(") (identifier "param_1") (, ",") (binary_expression "uVar12 - 1" (identifier "uVar12") (- "-") (number_literal "1")) (, ",") (number_literal "0x20") () ")"))) (; ";")) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" (identifier "local_e0") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (do_statement "do {\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          } while (iVar9 != 0);" (do "do") (compound_statement "{\n            FUN_0013e580(param_1,local_88,uVar19);\n            iVar9 = iVar9 + -1;\n          }" ({ "{") (expression_statement "FUN_0013e580(param_1,local_88,uVar19);" (call_expression "FUN_0013e580(param_1,local_88,uVar19)" (identifier "FUN_0013e580") (argument_list "(param_1,local_88,uVar19)" (( "(") (identifier "param_1") (, ",") (identifier "local_88") (, ",") (identifier "uVar19") () ")"))) (; ";")) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "uVar37 = (ulong)uVar19;" (assignment_expression "uVar37 = (ulong)uVar19" (identifier "uVar37") (= "=") (cast_expression "(ulong)uVar19" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar19"))) (; ";")) (expression_statement "pbVar24 = local_e0;" (assignment_expression "pbVar24 = local_e0" (identifier "pbVar24") (= "=") (identifier "local_e0")) (; ";")) (expression_statement "uVar12 = (uint)local_e0;" (assignment_expression "uVar12 = (uint)local_e0" (identifier "uVar12") (= "=") (cast_expression "(uint)local_e0" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_e0"))) (; ";")) (} "}"))) (if_statement "if (0 < (int)uVar12) {\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }" (if "if") (parenthesized_expression "(0 < (int)uVar12)" (( "(") (binary_expression "0 < (int)uVar12" (number_literal "0") (< "<") (cast_expression "(int)uVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar12"))) () ")")) (compound_statement "{\n          pbVar38 = local_88;\n          local_e0 = (byte *)0x0;\n          iVar9 = (int)uVar37 + -1;\n          goto LAB_0013efc6;\n        }" ({ "{") (expression_statement "pbVar38 = local_88;" (assignment_expression "pbVar38 = local_88" (identifier "pbVar38") (= "=") (identifier "local_88")) (; ";")) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" (identifier "local_e0") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar9 = (int)uVar37 + -1;" (assignment_expression "iVar9 = (int)uVar37 + -1" (identifier "iVar9") (= "=") (binary_expression "(int)uVar37 + -1" (cast_expression "(int)uVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar37")) (+ "+") (number_literal "-1"))) (; ";")) (goto_statement "goto LAB_0013efc6;" (goto "goto") (statement_identifier "LAB_0013efc6") (; ";")) (} "}"))) (expression_statement "pbVar38 = local_88;" (assignment_expression "pbVar38 = local_88" (identifier "pbVar38") (= "=") (identifier "local_88")) (; ";")) (expression_statement "FUN_0013e580(param_1,pbVar38,uVar37);" (call_expression "FUN_0013e580(param_1,pbVar38,uVar37)" (identifier "FUN_0013e580") (argument_list "(param_1,pbVar38,uVar37)" (( "(") (identifier "param_1") (, ",") (identifier "pbVar38") (, ",") (identifier "uVar37") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case '\t':" (case "case") (char_literal "'\t'" (' "'") (escape_sequence "\t") (' "'")) (: ":")) (case_statement "case '\n':" (case "case") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'")) (: ":")) (case_statement "case '\x0e':\n        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }\nLAB_0013fa0c:\n        *pbVar17 = 0;\nLAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }\nLAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);\n        goto LAB_0013f018;" (case "case") (char_literal "'\x0e'" (' "'") (escape_sequence "\x0e") (' "'")) (: ":") (expression_statement "bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;" (assignment_expression "bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22" (identifier "bVar7") (= "=") (binary_expression "(cVar33 != '\x0e') * '\x05' + 0x22" (binary_expression "(cVar33 != '\x0e') * '\x05'" (parenthesized_expression "(cVar33 != '\x0e')" (( "(") (binary_expression "cVar33 != '\x0e'" (identifier "cVar33") (!= "!=") (char_literal "'\x0e'" (' "'") (escape_sequence "\x0e") (' "'"))) () ")")) (* "*") (char_literal "'\x05'" (' "'") (escape_sequence "\x05") (' "'"))) (+ "+") (number_literal "0x22"))) (; ";")) (if_statement "if (local_b6 == 0) {\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }\n        else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }" (if "if") (parenthesized_expression "(local_b6 == 0)" (( "(") (binary_expression "local_b6 == 0" (identifier "local_b6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar19 = *param_3;\n          if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }\n          local_e0 = (byte *)*puVar26;\n          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;\nLAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;\n          if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }\n          pbVar38 = local_88;\n          local_88[0] = bVar7;\n          lVar30 = 2;\n          uVar37 = 2;\n          local_e0 = (byte *)0x0;\n          pbVar17 = local_88 + 1;\nLAB_0013fa06:\n          *pbVar17 = bVar7;\n          pbVar17 = pbVar38 + lVar30;\n        }" ({ "{") (expression_statement "uVar19 = *param_3;" (assignment_expression "uVar19 = *param_3" (identifier "uVar19") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (if_statement "if (uVar19 < 0x30) {\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }\n          else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }" (if "if") (parenthesized_expression "(uVar19 < 0x30)" (( "(") (binary_expression "uVar19 < 0x30" (identifier "uVar19") (< "<") (number_literal "0x30")) () ")")) (compound_statement "{\n            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));\n            *param_3 = uVar19 + 8;\n          }" ({ "{") (expression_statement "puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));" (assignment_expression "puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4))" (identifier "puVar26") (= "=") (cast_expression "(undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4))" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)uVar19 + *(long *)(param_3 + 4))" (( "(") (binary_expression "(ulong)uVar19 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar19" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar19")) (+ "+") (pointer_expression "*(long *)(param_3 + 4)" (* "*") (cast_expression "(long *)(param_3 + 4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 4)" (( "(") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4")) () ")"))))) () ")")))) (; ";")) (expression_statement "*param_3 = uVar19 + 8;" (assignment_expression "*param_3 = uVar19 + 8" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "uVar19 + 8" (identifier "uVar19") (+ "+") (number_literal "8"))) (; ";")) (} "}")) (else_clause "else {\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }" (else "else") (compound_statement "{\n            puVar26 = *(undefined8 **)(param_3 + 2);\n            *(undefined8 **)(param_3 + 2) = puVar26 + 1;\n          }" ({ "{") (expression_statement "puVar26 = *(undefined8 **)(param_3 + 2);" (assignment_expression "puVar26 = *(undefined8 **)(param_3 + 2)" (identifier "puVar26") (= "=") (pointer_expression "*(undefined8 **)(param_3 + 2)" (* "*") (cast_expression "(undefined8 **)(param_3 + 2)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "*(undefined8 **)(param_3 + 2) = puVar26 + 1;" (assignment_expression "*(undefined8 **)(param_3 + 2) = puVar26 + 1" (pointer_expression "*(undefined8 **)(param_3 + 2)" (* "*") (cast_expression "(undefined8 **)(param_3 + 2)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "puVar26 + 1" (identifier "puVar26") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "local_e0 = (byte *)*puVar26;" (assignment_expression "local_e0 = (byte *)*puVar26" (identifier "local_e0") (= "=") (cast_expression "(byte *)*puVar26" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar26" (* "*") (identifier "puVar26")))) (; ";")) (if_statement "if (local_e0 == (byte *)0x0) goto LAB_0013eec9;" (if "if") (parenthesized_expression "(local_e0 == (byte *)0x0)" (( "(") (binary_expression "local_e0 == (byte *)0x0" (identifier "local_e0") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0013eec9;" (goto "goto") (statement_identifier "LAB_0013eec9") (; ";"))) (labeled_statement "LAB_0013f8df:\n          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;" (statement_identifier "LAB_0013f8df") (: ":") (if_statement "if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))\n          goto LAB_0013f8fa;" (if "if") (parenthesized_expression "((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))" (( "(") (binary_expression "(uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0)" (parenthesized_expression "(uVar10 != 0)" (( "(") (binary_expression "uVar10 != 0" (identifier "uVar10") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0)" (( "(") (comma_expression "bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0" (assignment_expression "bVar35 = *local_e0" (identifier "bVar35") (= "=") (pointer_expression "*local_e0" (* "*") (identifier "local_e0"))) (, ",") (comma_expression "pbVar13 = local_e0, bVar35 != 0" (assignment_expression "pbVar13 = local_e0" (identifier "pbVar13") (= "=") (identifier "local_e0")) (, ",") (binary_expression "bVar35 != 0" (identifier "bVar35") (!= "!=") (number_literal "0")))) () ")"))) () ")")) (goto_statement "goto LAB_0013f8fa;" (goto "goto") (statement_identifier "LAB_0013f8fa") (; ";")))) (if_statement "if (cVar33 != '\n') {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }" (if "if") (parenthesized_expression "(cVar33 != '\n')" (( "(") (binary_expression "cVar33 != '\n'" (identifier "cVar33") (!= "!=") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")")) (compound_statement "{\n            pbVar17 = local_88;\n            uVar37 = 0;\n            local_e0 = (byte *)0x0;\n            pbVar38 = pbVar17;\n            goto LAB_0013fa0c;\n          }" ({ "{") (expression_statement "pbVar17 = local_88;" (assignment_expression "pbVar17 = local_88" (identifier "pbVar17") (= "=") (identifier "local_88")) (; ";")) (expression_statement "uVar37 = 0;" (assignment_expression "uVar37 = 0" (identifier "uVar37") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" (identifier "local_e0") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pbVar38 = pbVar17;" (assignment_expression "pbVar38 = pbVar17" (identifier "pbVar38") (= "=") (identifier "pbVar17")) (; ";")) (goto_statement "goto LAB_0013fa0c;" (goto "goto") (statement_identifier "LAB_0013fa0c") (; ";")) (} "}"))) (expression_statement "pbVar38 = local_88;" (assignment_expression "pbVar38 = local_88" (identifier "pbVar38") (= "=") (identifier "local_88")) (; ";")) (expression_statement "local_88[0] = bVar7;" (assignment_expression "local_88[0] = bVar7" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "bVar7")) (; ";")) (expression_statement "lVar30 = 2;" (assignment_expression "lVar30 = 2" (identifier "lVar30") (= "=") (number_literal "2")) (; ";")) (expression_statement "uVar37 = 2;" (assignment_expression "uVar37 = 2" (identifier "uVar37") (= "=") (number_literal "2")) (; ";")) (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" (identifier "local_e0") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pbVar17 = local_88 + 1;" (assignment_expression "pbVar17 = local_88 + 1" (identifier "pbVar17") (= "=") (binary_expression "local_88 + 1" (identifier "local_88") (+ "+") (number_literal "1"))) (; ";")) (labeled_statement "LAB_0013fa06:\n          *pbVar17 = bVar7;" (statement_identifier "LAB_0013fa06") (: ":") (expression_statement "*pbVar17 = bVar7;" (assignment_expression "*pbVar17 = bVar7" (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")) (= "=") (identifier "bVar7")) (; ";"))) (expression_statement "pbVar17 = pbVar38 + lVar30;" (assignment_expression "pbVar17 = pbVar38 + lVar30" (identifier "pbVar17") (= "=") (binary_expression "pbVar38 + lVar30" (identifier "pbVar38") (+ "+") (identifier "lVar30"))) (; ";")) (} "}")) (else_clause "else {\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }" (else "else") (compound_statement "{\n          local_e0 = (byte *)FUN_001408d0(local_d8);\n          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;\nLAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;\n          if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }\n          if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }\n        }" ({ "{") (expression_statement "local_e0 = (byte *)FUN_001408d0(local_d8);" (assignment_expression "local_e0 = (byte *)FUN_001408d0(local_d8)" (identifier "local_e0") (= "=") (cast_expression "(byte *)FUN_001408d0(local_d8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001408d0(local_d8)" (identifier "FUN_001408d0") (argument_list "(local_d8)" (( "(") (identifier "local_d8") () ")"))))) (; ";")) (if_statement "if (local_e0 != (byte *)0x0) goto LAB_0013f8df;" (if "if") (parenthesized_expression "(local_e0 != (byte *)0x0)" (( "(") (binary_expression "local_e0 != (byte *)0x0" (identifier "local_e0") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0013f8df;" (goto "goto") (statement_identifier "LAB_0013f8df") (; ";"))) (labeled_statement "LAB_0013eec9:\n          pbVar13 = (byte *)0x1e846d;" (statement_identifier "LAB_0013eec9") (: ":") (expression_statement "pbVar13 = (byte *)0x1e846d;" (assignment_expression "pbVar13 = (byte *)0x1e846d" (identifier "pbVar13") (= "=") (cast_expression "(byte *)0x1e846d" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1e846d"))) (; ";"))) (if_statement "if (cVar33 != '\n') {\n            pbVar13 = &DAT_001e9900;\n          }" (if "if") (parenthesized_expression "(cVar33 != '\n')" (( "(") (binary_expression "cVar33 != '\n'" (identifier "cVar33") (!= "!=") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")")) (compound_statement "{\n            pbVar13 = &DAT_001e9900;\n          }" ({ "{") (expression_statement "pbVar13 = &DAT_001e9900;" (assignment_expression "pbVar13 = &DAT_001e9900" (identifier "pbVar13") (= "=") (pointer_expression "&DAT_001e9900" (& "&") (identifier "DAT_001e9900"))) (; ";")) (} "}"))) (if_statement "if (uVar10 == 0) {\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }\n          else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }" (if "if") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            pbVar17 = local_88;\n            uVar37 = 0;\n            pbVar38 = pbVar17;\n          }" ({ "{") (expression_statement "pbVar17 = local_88;" (assignment_expression "pbVar17 = local_88" (identifier "pbVar17") (= "=") (identifier "local_88")) (; ";")) (expression_statement "uVar37 = 0;" (assignment_expression "uVar37 = 0" (identifier "uVar37") (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar38 = pbVar17;" (assignment_expression "pbVar38 = pbVar17" (identifier "pbVar38") (= "=") (identifier "pbVar17")) (; ";")) (} "}")) (else_clause "else {\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }" (else "else") (compound_statement "{\n            bVar35 = *pbVar13;\nLAB_0013f8fa:\n            iVar29 = 0;\n            iVar9 = 0;\n            do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);\n            bVar40 = local_e0 != (byte *)0x0;\n            bVar39 = bVar40 && cVar33 == '\n';\n            if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }\n            if (bVar39) {\n              *pbVar38 = bVar7;\n            }\n            uVar37 = (ulong)bVar39;\n            lVar30 = 0;\n            do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);\nLAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }\n          }" ({ "{") (expression_statement "bVar35 = *pbVar13;" (assignment_expression "bVar35 = *pbVar13" (identifier "bVar35") (= "=") (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13"))) (; ";")) (labeled_statement "LAB_0013f8fa:\n            iVar29 = 0;" (statement_identifier "LAB_0013f8fa") (: ":") (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" (identifier "iVar29") (= "=") (number_literal "0")) (; ";"))) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" (identifier "iVar9") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            } while (bVar35 != 0);" (do "do") (compound_statement "{\n              iVar31 = iVar9;\n              if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }\n              iVar9 = iVar31 + 1;\n              if (uVar10 == 1) break;\n              uVar10 = uVar10 - 1;\n              bVar35 = pbVar13[iVar9];\n            }" ({ "{") (expression_statement "iVar31 = iVar9;" (assignment_expression "iVar31 = iVar9" (identifier "iVar31") (= "=") (identifier "iVar9")) (; ";")) (if_statement "if (bVar7 == bVar35) {\n                iVar29 = iVar29 + 1;\n              }\n              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }" (if "if") (parenthesized_expression "(bVar7 == bVar35)" (( "(") (binary_expression "bVar7 == bVar35" (identifier "bVar7") (== "==") (identifier "bVar35")) () ")")) (compound_statement "{\n                iVar29 = iVar29 + 1;\n              }" ({ "{") (expression_statement "iVar29 = iVar29 + 1;" (assignment_expression "iVar29 = iVar29 + 1" (identifier "iVar29") (= "=") (binary_expression "iVar29 + 1" (identifier "iVar29") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }" (else "else") (if_statement "if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }" (if "if") (parenthesized_expression "(((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80))" (( "(") (binary_expression "((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&\n                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)" (parenthesized_expression "((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0))" (( "(") (binary_expression "(bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)" (parenthesized_expression "(bVar25 != 0)" (( "(") (binary_expression "bVar25 != 0" (identifier "bVar25") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((bVar35 & 0xc0) == 0xc0)" (( "(") (binary_expression "(bVar35 & 0xc0) == 0xc0" (parenthesized_expression "(bVar35 & 0xc0)" (( "(") (binary_expression "bVar35 & 0xc0" (identifier "bVar35") (& "&") (number_literal "0xc0")) () ")")) (== "==") (number_literal "0xc0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)" (( "(") (binary_expression "((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80" (parenthesized_expression "((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U)" (( "(") (binary_expression "(int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U" (cast_expression "(int)(char)pbVar13[(long)iVar9 + 1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)pbVar13[(long)iVar9 + 1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pbVar13[(long)iVar9 + 1]" (identifier "pbVar13") ([ "[") (binary_expression "(long)iVar9 + 1" (cast_expression "(long)iVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "iVar9")) (+ "+") (number_literal "1")) (] "]")))) (& "&") (number_literal "0xc0U")) () ")")) (== "==") (number_literal "0x80")) () ")"))) () ")")) (compound_statement "{\n                lVar30 = (long)(iVar9 + 1);\n                do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);\n              }" ({ "{") (expression_statement "lVar30 = (long)(iVar9 + 1);" (assignment_expression "lVar30 = (long)(iVar9 + 1)" (identifier "lVar30") (= "=") (cast_expression "(long)(iVar9 + 1)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "(iVar9 + 1)" (( "(") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1")) () ")")))) (; ";")) (do_statement "do {\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);" (do "do") (compound_statement "{\n                  lVar23 = lVar30 + 1;\n                  iVar31 = (int)lVar30;\n                  lVar30 = lVar30 + 1;\n                }" ({ "{") (expression_statement "lVar23 = lVar30 + 1;" (assignment_expression "lVar23 = lVar30 + 1" (identifier "lVar23") (= "=") (binary_expression "lVar30 + 1" (identifier "lVar30") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar31 = (int)lVar30;" (assignment_expression "iVar31 = (int)lVar30" (identifier "iVar31") (= "=") (cast_expression "(int)lVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar30"))) (; ";")) (expression_statement "lVar30 = lVar30 + 1;" (assignment_expression "lVar30 = lVar30 + 1" (identifier "lVar30") (= "=") (binary_expression "lVar30 + 1" (identifier "lVar30") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80)" (( "(") (binary_expression "((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80" (parenthesized_expression "((int)(char)pbVar13[lVar23] & 0xc0U)" (( "(") (binary_expression "(int)(char)pbVar13[lVar23] & 0xc0U" (cast_expression "(int)(char)pbVar13[lVar23]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)pbVar13[lVar23]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pbVar13[lVar23]" (identifier "pbVar13") ([ "[") (identifier "lVar23") (] "]")))) (& "&") (number_literal "0xc0U")) () ")")) (== "==") (number_literal "0x80")) () ")")) (; ";")) (} "}"))))) (expression_statement "iVar9 = iVar31 + 1;" (assignment_expression "iVar9 = iVar31 + 1" (identifier "iVar9") (= "=") (binary_expression "iVar31 + 1" (identifier "iVar31") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar10 == 1) break;" (if "if") (parenthesized_expression "(uVar10 == 1)" (( "(") (binary_expression "uVar10 == 1" (identifier "uVar10") (== "==") (number_literal "1")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar10 = uVar10 - 1;" (assignment_expression "uVar10 = uVar10 - 1" (identifier "uVar10") (= "=") (binary_expression "uVar10 - 1" (identifier "uVar10") (- "-") (number_literal "1"))) (; ";")) (expression_statement "bVar35 = pbVar13[iVar9];" (assignment_expression "bVar35 = pbVar13[iVar9]" (identifier "bVar35") (= "=") (subscript_expression "pbVar13[iVar9]" (identifier "pbVar13") ([ "[") (identifier "iVar9") (] "]"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar35 != 0)" (( "(") (binary_expression "bVar35 != 0" (identifier "bVar35") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "bVar40 = local_e0 != (byte *)0x0;" (assignment_expression "bVar40 = local_e0 != (byte *)0x0" (identifier "bVar40") (= "=") (binary_expression "local_e0 != (byte *)0x0" (identifier "local_e0") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (expression_statement "bVar39 = bVar40 && cVar33 == '\n';" (assignment_expression "bVar39 = bVar40 && cVar33 == '\n'" (identifier "bVar39") (= "=") (binary_expression "bVar40 && cVar33 == '\n'" (identifier "bVar40") (&& "&&") (binary_expression "cVar33 == '\n'" (identifier "cVar33") (== "==") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))))) (; ";")) (if_statement "if (iVar31 + 4 + iVar29 < 0x47) {\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }\n            else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }" (if "if") (parenthesized_expression "(iVar31 + 4 + iVar29 < 0x47)" (( "(") (binary_expression "iVar31 + 4 + iVar29 < 0x47" (binary_expression "iVar31 + 4 + iVar29" (binary_expression "iVar31 + 4" (identifier "iVar31") (+ "+") (number_literal "4")) (+ "+") (identifier "iVar29")) (< "<") (number_literal "0x47")) () ")")) (compound_statement "{\n              local_e0 = (byte *)0x0;\n              pbVar38 = local_88;\n            }" ({ "{") (expression_statement "local_e0 = (byte *)0x0;" (assignment_expression "local_e0 = (byte *)0x0" (identifier "local_e0") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pbVar38 = local_88;" (assignment_expression "pbVar38 = local_88" (identifier "pbVar38") (= "=") (identifier "local_88")) (; ";")) (} "}")) (else_clause "else {\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }" (else "else") (compound_statement "{\n              pbVar38 = (byte *)FUN_0011bc10(param_1);\n              local_e0 = pbVar38;\n              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;\n            }" ({ "{") (expression_statement "pbVar38 = (byte *)FUN_0011bc10(param_1);" (assignment_expression "pbVar38 = (byte *)FUN_0011bc10(param_1)" (identifier "pbVar38") (= "=") (cast_expression "(byte *)FUN_0011bc10(param_1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0011bc10(param_1)" (identifier "FUN_0011bc10") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))))) (; ";")) (expression_statement "local_e0 = pbVar38;" (assignment_expression "local_e0 = pbVar38" (identifier "local_e0") (= "=") (identifier "pbVar38")) (; ";")) (if_statement "if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;" (if "if") (parenthesized_expression "(pbVar38 == (byte *)0x0)" (( "(") (binary_expression "pbVar38 == (byte *)0x0" (identifier "pbVar38") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto switchD_0013ea21_caseD_11;" (goto "goto") (statement_identifier "switchD_0013ea21_caseD_11") (; ";"))) (} "}")))) (if_statement "if (bVar39) {\n              *pbVar38 = bVar7;\n            }" (if "if") (parenthesized_expression "(bVar39)" (( "(") (identifier "bVar39") () ")")) (compound_statement "{\n              *pbVar38 = bVar7;\n            }" ({ "{") (expression_statement "*pbVar38 = bVar7;" (assignment_expression "*pbVar38 = bVar7" (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")) (= "=") (identifier "bVar7")) (; ";")) (} "}"))) (expression_statement "uVar37 = (ulong)bVar39;" (assignment_expression "uVar37 = (ulong)bVar39" (identifier "uVar37") (= "=") (cast_expression "(ulong)bVar39" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar39"))) (; ";")) (expression_statement "lVar30 = 0;" (assignment_expression "lVar30 = 0" (identifier "lVar30") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            } while ((int)lVar30 < iVar9);" (do "do") (compound_statement "{\n              while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }\n              lVar30 = lVar30 + 1;\n            }" ({ "{") (while_statement "while( true ) {\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                bVar35 = pbVar13[lVar30];\n                iVar29 = (int)uVar37;\n                uVar37 = (ulong)(iVar29 + 1U);\n                pbVar38[iVar29] = bVar35;\n                pbVar17 = pbVar38 + (int)(iVar29 + 1U);\n                if (bVar7 != bVar35) break;\n                uVar37 = (ulong)(iVar29 + 2U);\n                *pbVar17 = bVar7;\n                lVar30 = lVar30 + 1;\n                pbVar17 = pbVar38 + (int)(iVar29 + 2U);\n                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;\n              }" ({ "{") (expression_statement "bVar35 = pbVar13[lVar30];" (assignment_expression "bVar35 = pbVar13[lVar30]" (identifier "bVar35") (= "=") (subscript_expression "pbVar13[lVar30]" (identifier "pbVar13") ([ "[") (identifier "lVar30") (] "]"))) (; ";")) (expression_statement "iVar29 = (int)uVar37;" (assignment_expression "iVar29 = (int)uVar37" (identifier "iVar29") (= "=") (cast_expression "(int)uVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar37"))) (; ";")) (expression_statement "uVar37 = (ulong)(iVar29 + 1U);" (assignment_expression "uVar37 = (ulong)(iVar29 + 1U)" (identifier "uVar37") (= "=") (call_expression "(ulong)(iVar29 + 1U)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(iVar29 + 1U)" (( "(") (binary_expression "iVar29 + 1U" (identifier "iVar29") (+ "+") (number_literal "1U")) () ")")))) (; ";")) (expression_statement "pbVar38[iVar29] = bVar35;" (assignment_expression "pbVar38[iVar29] = bVar35" (subscript_expression "pbVar38[iVar29]" (identifier "pbVar38") ([ "[") (identifier "iVar29") (] "]")) (= "=") (identifier "bVar35")) (; ";")) (expression_statement "pbVar17 = pbVar38 + (int)(iVar29 + 1U);" (assignment_expression "pbVar17 = pbVar38 + (int)(iVar29 + 1U)" (identifier "pbVar17") (= "=") (binary_expression "pbVar38 + (int)(iVar29 + 1U)" (identifier "pbVar38") (+ "+") (cast_expression "(int)(iVar29 + 1U)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar29 + 1U)" (( "(") (binary_expression "iVar29 + 1U" (identifier "iVar29") (+ "+") (number_literal "1U")) () ")"))))) (; ";")) (if_statement "if (bVar7 != bVar35) break;" (if "if") (parenthesized_expression "(bVar7 != bVar35)" (( "(") (binary_expression "bVar7 != bVar35" (identifier "bVar7") (!= "!=") (identifier "bVar35")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar37 = (ulong)(iVar29 + 2U);" (assignment_expression "uVar37 = (ulong)(iVar29 + 2U)" (identifier "uVar37") (= "=") (call_expression "(ulong)(iVar29 + 2U)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(iVar29 + 2U)" (( "(") (binary_expression "iVar29 + 2U" (identifier "iVar29") (+ "+") (number_literal "2U")) () ")")))) (; ";")) (expression_statement "*pbVar17 = bVar7;" (assignment_expression "*pbVar17 = bVar7" (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")) (= "=") (identifier "bVar7")) (; ";")) (expression_statement "lVar30 = lVar30 + 1;" (assignment_expression "lVar30 = lVar30 + 1" (identifier "lVar30") (= "=") (binary_expression "lVar30 + 1" (identifier "lVar30") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar17 = pbVar38 + (int)(iVar29 + 2U);" (assignment_expression "pbVar17 = pbVar38 + (int)(iVar29 + 2U)" (identifier "pbVar17") (= "=") (binary_expression "pbVar38 + (int)(iVar29 + 2U)" (identifier "pbVar38") (+ "+") (cast_expression "(int)(iVar29 + 2U)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar29 + 2U)" (( "(") (binary_expression "iVar29 + 2U" (identifier "iVar29") (+ "+") (number_literal "2U")) () ")"))))) (; ";")) (if_statement "if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;" (if "if") (parenthesized_expression "(iVar9 <= (int)lVar30)" (( "(") (binary_expression "iVar9 <= (int)lVar30" (identifier "iVar9") (<= "<=") (cast_expression "(int)lVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar30"))) () ")")) (goto_statement "goto LAB_0013f9fa;" (goto "goto") (statement_identifier "LAB_0013f9fa") (; ";"))) (} "}"))) (expression_statement "lVar30 = lVar30 + 1;" (assignment_expression "lVar30 = lVar30 + 1" (identifier "lVar30") (= "=") (binary_expression "lVar30 + 1" (identifier "lVar30") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)lVar30 < iVar9)" (( "(") (binary_expression "(int)lVar30 < iVar9" (cast_expression "(int)lVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar30")) (< "<") (identifier "iVar9")) () ")")) (; ";")) (labeled_statement "LAB_0013f9fa:\n            if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }" (statement_identifier "LAB_0013f9fa") (: ":") (if_statement "if (bVar40 && cVar33 == '\n') {\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }" (if "if") (parenthesized_expression "(bVar40 && cVar33 == '\n')" (( "(") (binary_expression "bVar40 && cVar33 == '\n'" (identifier "bVar40") (&& "&&") (binary_expression "cVar33 == '\n'" (identifier "cVar33") (== "==") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'")))) () ")")) (compound_statement "{\n              uVar10 = (int)uVar37 + 1;\n              uVar37 = (ulong)uVar10;\n              lVar30 = (long)(int)uVar10;\n              goto LAB_0013fa06;\n            }" ({ "{") (expression_statement "uVar10 = (int)uVar37 + 1;" (assignment_expression "uVar10 = (int)uVar37 + 1" (identifier "uVar10") (= "=") (binary_expression "(int)uVar37 + 1" (cast_expression "(int)uVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar37")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar37 = (ulong)uVar10;" (assignment_expression "uVar37 = (ulong)uVar10" (identifier "uVar37") (= "=") (cast_expression "(ulong)uVar10" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar10"))) (; ";")) (expression_statement "lVar30 = (long)(int)uVar10;" (assignment_expression "lVar30 = (long)(int)uVar10" (identifier "lVar30") (= "=") (cast_expression "(long)(int)uVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10")))) (; ";")) (goto_statement "goto LAB_0013fa06;" (goto "goto") (statement_identifier "LAB_0013fa06") (; ";")) (} "}")))) (} "}")))) (} "}")))) (labeled_statement "LAB_0013fa0c:\n        *pbVar17 = 0;" (statement_identifier "LAB_0013fa0c") (: ":") (expression_statement "*pbVar17 = 0;" (assignment_expression "*pbVar17 = 0" (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")) (= "=") (number_literal "0")) (; ";"))) (labeled_statement "LAB_0013fa12:\n        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }" (statement_identifier "LAB_0013fa12") (: ":") (if_statement "if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }" (if "if") (parenthesized_expression "(((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9))" (( "(") (binary_expression "((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)" (parenthesized_expression "((0 < (int)uVar12) && (bVar25 != 0))" (( "(") (binary_expression "(0 < (int)uVar12) && (bVar25 != 0)" (parenthesized_expression "(0 < (int)uVar12)" (( "(") (binary_expression "0 < (int)uVar12" (number_literal "0") (< "<") (cast_expression "(int)uVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar12"))) () ")")) (&& "&&") (parenthesized_expression "(bVar25 != 0)" (( "(") (binary_expression "bVar25 != 0" (identifier "bVar25") (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar9 = (int)uVar37 + -1, -1 < iVar9)" (( "(") (comma_expression "iVar9 = (int)uVar37 + -1, -1 < iVar9" (assignment_expression "iVar9 = (int)uVar37 + -1" (identifier "iVar9") (= "=") (binary_expression "(int)uVar37 + -1" (cast_expression "(int)uVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar37")) (+ "+") (number_literal "-1"))) (, ",") (binary_expression "-1 < iVar9" (number_literal "-1") (< "<") (identifier "iVar9"))) () ")"))) () ")")) (compound_statement "{\nLAB_0013efc6:\n          lVar30 = (long)iVar9;\n          do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);\n        }" ({ "{") (labeled_statement "LAB_0013efc6:\n          lVar30 = (long)iVar9;" (statement_identifier "LAB_0013efc6") (: ":") (expression_statement "lVar30 = (long)iVar9;" (assignment_expression "lVar30 = (long)iVar9" (identifier "lVar30") (= "=") (cast_expression "(long)iVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "iVar9"))) (; ";"))) (do_statement "do {\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          } while (-1 < (int)lVar30);" (do "do") (compound_statement "{\n            pbVar13 = pbVar38 + lVar30;\n            lVar30 = lVar30 + -1;\n            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);\n            pbVar24 = (byte *)(ulong)uVar12;\n          }" ({ "{") (expression_statement "pbVar13 = pbVar38 + lVar30;" (assignment_expression "pbVar13 = pbVar38 + lVar30" (identifier "pbVar13") (= "=") (binary_expression "pbVar38 + lVar30" (identifier "pbVar38") (+ "+") (identifier "lVar30"))) (; ";")) (expression_statement "lVar30 = lVar30 + -1;" (assignment_expression "lVar30 = lVar30 + -1" (identifier "lVar30") (= "=") (binary_expression "lVar30 + -1" (identifier "lVar30") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);" (assignment_expression "uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80)" (identifier "uVar12") (= "=") (binary_expression "(int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80)" (cast_expression "(int)pbVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar24")) (+ "+") (call_expression "(uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(((int)(char)*pbVar13 & 0xc0U) == 0x80)" (( "(") (binary_expression "((int)(char)*pbVar13 & 0xc0U) == 0x80" (parenthesized_expression "((int)(char)*pbVar13 & 0xc0U)" (( "(") (binary_expression "(int)(char)*pbVar13 & 0xc0U" (cast_expression "(int)(char)*pbVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)*pbVar13" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")))) (& "&") (number_literal "0xc0U")) () ")")) (== "==") (number_literal "0x80")) () ")"))))) (; ";")) (expression_statement "pbVar24 = (byte *)(ulong)uVar12;" (assignment_expression "pbVar24 = (byte *)(ulong)uVar12" (identifier "pbVar24") (= "=") (cast_expression "(byte *)(ulong)uVar12" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(ulong)uVar12" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar12")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(-1 < (int)lVar30)" (( "(") (binary_expression "-1 < (int)lVar30" (number_literal "-1") (< "<") (cast_expression "(int)lVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar30"))) () ")")) (; ";")) (} "}")))) (labeled_statement "LAB_0013eff2:\n        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);" (statement_identifier "LAB_0013eff2") (: ":") (expression_statement "pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);" (assignment_expression "pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37)" (identifier "pbVar24") (= "=") (cast_expression "(byte *)(ulong)(uVar12 - (int)uVar37)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(ulong)(uVar12 - (int)uVar37)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar12 - (int)uVar37)" (( "(") (binary_expression "uVar12 - (int)uVar37" (identifier "uVar12") (- "-") (cast_expression "(int)uVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar37"))) () ")"))))) (; ";"))) (goto_statement "goto LAB_0013f018;" (goto "goto") (statement_identifier "LAB_0013f018") (; ";"))) (case_statement "case '\v':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        puVar26 = (undefined8 *)*plVar16;\n        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;\n        FUN_0013e580(param_1,*puVar26);\n        FUN_0013e580(param_1,pbVar38,0);\n        break;" (case "case") (char_literal "'\v'" (' "'") (escape_sequence "\v") (' "'")) (: ":") (if_statement "if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;" (if "if") (parenthesized_expression "((*(byte *)((long)param_1 + 0x1d) & 1) == 0)" (( "(") (binary_expression "(*(byte *)((long)param_1 + 0x1d) & 1) == 0" (parenthesized_expression "(*(byte *)((long)param_1 + 0x1d) & 1)" (( "(") (binary_expression "*(byte *)((long)param_1 + 0x1d) & 1" (pointer_expression "*(byte *)((long)param_1 + 0x1d)" (* "*") (cast_expression "(byte *)((long)param_1 + 0x1d)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x1d)" (( "(") (binary_expression "(long)param_1 + 0x1d" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x1d")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto switchD_0013ea21_caseD_11;" (goto "goto") (statement_identifier "switchD_0013ea21_caseD_11") (; ";"))) (expression_statement "uVar10 = *param_3;" (assignment_expression "uVar10 = *param_3" (identifier "uVar10") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (if_statement "if (uVar10 < 0x30) {\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }\n        else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }" (if "if") (parenthesized_expression "(uVar10 < 0x30)" (( "(") (binary_expression "uVar10 < 0x30" (identifier "uVar10") (< "<") (number_literal "0x30")) () ")")) (compound_statement "{\n          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));\n          *param_3 = uVar10 + 8;\n        }" ({ "{") (expression_statement "plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));" (assignment_expression "plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4))" (identifier "plVar16") (= "=") (cast_expression "(long *)((ulong)uVar10 + *(long *)(param_3 + 4))" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)uVar10 + *(long *)(param_3 + 4))" (( "(") (binary_expression "(ulong)uVar10 + *(long *)(param_3 + 4)" (cast_expression "(ulong)uVar10" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar10")) (+ "+") (pointer_expression "*(long *)(param_3 + 4)" (* "*") (cast_expression "(long *)(param_3 + 4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 4)" (( "(") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4")) () ")"))))) () ")")))) (; ";")) (expression_statement "*param_3 = uVar10 + 8;" (assignment_expression "*param_3 = uVar10 + 8" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "uVar10 + 8" (identifier "uVar10") (+ "+") (number_literal "8"))) (; ";")) (} "}")) (else_clause "else {\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }" (else "else") (compound_statement "{\n          plVar16 = *(long **)(param_3 + 2);\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }" ({ "{") (expression_statement "plVar16 = *(long **)(param_3 + 2);" (assignment_expression "plVar16 = *(long **)(param_3 + 2)" (identifier "plVar16") (= "=") (pointer_expression "*(long **)(param_3 + 2)" (* "*") (cast_expression "(long **)(param_3 + 2)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "*(long **)(param_3 + 2) = plVar16 + 1;" (assignment_expression "*(long **)(param_3 + 2) = plVar16 + 1" (pointer_expression "*(long **)(param_3 + 2)" (* "*") (cast_expression "(long **)(param_3 + 2)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "plVar16 + 1" (identifier "plVar16") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "puVar26 = (undefined8 *)*plVar16;" (assignment_expression "puVar26 = (undefined8 *)*plVar16" (identifier "puVar26") (= "=") (cast_expression "(undefined8 *)*plVar16" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar16" (* "*") (identifier "plVar16")))) (; ";")) (if_statement "if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;" (if "if") (parenthesized_expression "((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0))" (( "(") (binary_expression "(puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)" (parenthesized_expression "(puVar26 == (undefined8 *)0x0)" (( "(") (binary_expression "puVar26 == (undefined8 *)0x0" (identifier "puVar26") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(*(int *)(puVar26 + 1) == 0)" (( "(") (binary_expression "*(int *)(puVar26 + 1) == 0" (pointer_expression "*(int *)(puVar26 + 1)" (* "*") (cast_expression "(int *)(puVar26 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 1)" (( "(") (binary_expression "puVar26 + 1" (identifier "puVar26") (+ "+") (number_literal "1")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0013f287;" (goto "goto") (statement_identifier "LAB_0013f287") (; ";"))) (expression_statement "FUN_0013e580(param_1,*puVar26);" (call_expression "FUN_0013e580(param_1,*puVar26)" (identifier "FUN_0013e580") (argument_list "(param_1,*puVar26)" (( "(") (identifier "param_1") (, ",") (pointer_expression "*puVar26" (* "*") (identifier "puVar26")) () ")"))) (; ";")) (expression_statement "FUN_0013e580(param_1,pbVar38,0);" (call_expression "FUN_0013e580(param_1,pbVar38,0)" (identifier "FUN_0013e580") (argument_list "(param_1,pbVar38,0)" (( "(") (identifier "param_1") (, ",") (identifier "pbVar38") (, ",") (number_literal "0") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case '\f':\n        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;\n        uVar10 = *param_3;\n        if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }\n        lVar23 = *plVar16;\n        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }\n        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));\n        FUN_0013e580(param_1,pbVar38,0);\n        break;" (case "case") (char_literal "'\f'" (' "'") (escape_sequence "\f") (' "'")) (: ":") (if_statement "if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;" (if "if") (parenthesized_expression "((*(byte *)((long)param_1 + 0x1d) & 1) == 0)" (( "(") (binary_expression "(*(byte *)((long)param_1 + 0x1d) & 1) == 0" (parenthesized_expression "(*(byte *)((long)param_1 + 0x1d) & 1)" (( "(") (binary_expression "*(byte *)((long)param_1 + 0x1d) & 1" (pointer_expression "*(byte *)((long)param_1 + 0x1d)" (* "*") (cast_expression "(byte *)((long)param_1 + 0x1d)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x1d)" (( "(") (binary_expression "(long)param_1 + 0x1d" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x1d")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto switchD_0013ea21_caseD_11;" (goto "goto") (statement_identifier "switchD_0013ea21_caseD_11") (; ";"))) (expression_statement "uVar10 = *param_3;" (assignment_expression "uVar10 = *param_3" (identifier "uVar10") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (if_statement "if (uVar10 < 0x30) {\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }\n        else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }" (if "if") (parenthesized_expression "(uVar10 < 0x30)" (( "(") (binary_expression "uVar10 < 0x30" (identifier "uVar10") (< "<") (number_literal "0x30")) () ")")) (compound_statement "{\n          uVar12 = uVar10 + 8;\n          *param_3 = uVar12;\n          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);\n          if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }\n          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);\n          *param_3 = uVar10 + 0x10;\n        }" ({ "{") (expression_statement "uVar12 = uVar10 + 8;" (assignment_expression "uVar12 = uVar10 + 8" (identifier "uVar12") (= "=") (binary_expression "uVar10 + 8" (identifier "uVar10") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "*param_3 = uVar12;" (assignment_expression "*param_3 = uVar12" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);" (assignment_expression "lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10)" (identifier "lVar30") (= "=") (pointer_expression "*(long *)(*(long *)(param_3 + 4) + (ulong)uVar10)" (* "*") (cast_expression "(long *)(*(long *)(param_3 + 4) + (ulong)uVar10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_3 + 4) + (ulong)uVar10)" (( "(") (binary_expression "*(long *)(param_3 + 4) + (ulong)uVar10" (pointer_expression "*(long *)(param_3 + 4)" (* "*") (cast_expression "(long *)(param_3 + 4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 4)" (( "(") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4")) () ")")))) (+ "+") (cast_expression "(ulong)uVar10" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar10"))) () ")"))))) (; ";")) (if_statement "if (0x2f < uVar12) {\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }" (if "if") (parenthesized_expression "(0x2f < uVar12)" (( "(") (binary_expression "0x2f < uVar12" (number_literal "0x2f") (< "<") (identifier "uVar12")) () ")")) (compound_statement "{\n            plVar16 = *(long **)(param_3 + 2);\n            goto LAB_0013f46b;\n          }" ({ "{") (expression_statement "plVar16 = *(long **)(param_3 + 2);" (assignment_expression "plVar16 = *(long **)(param_3 + 2)" (identifier "plVar16") (= "=") (pointer_expression "*(long **)(param_3 + 2)" (* "*") (cast_expression "(long **)(param_3 + 2)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (goto_statement "goto LAB_0013f46b;" (goto "goto") (statement_identifier "LAB_0013f46b") (; ";")) (} "}"))) (expression_statement "plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);" (assignment_expression "plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12)" (identifier "plVar16") (= "=") (cast_expression "(long *)(*(long *)(param_3 + 4) + (ulong)uVar12)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_3 + 4) + (ulong)uVar12)" (( "(") (binary_expression "*(long *)(param_3 + 4) + (ulong)uVar12" (pointer_expression "*(long *)(param_3 + 4)" (* "*") (cast_expression "(long *)(param_3 + 4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 4)" (( "(") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4")) () ")")))) (+ "+") (cast_expression "(ulong)uVar12" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar12"))) () ")")))) (; ";")) (expression_statement "*param_3 = uVar10 + 0x10;" (assignment_expression "*param_3 = uVar10 + 0x10" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "uVar10 + 0x10" (identifier "uVar10") (+ "+") (number_literal "0x10"))) (; ";")) (} "}")) (else_clause "else {\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }" (else "else") (compound_statement "{\n          plVar2 = *(long **)(param_3 + 2);\n          plVar16 = plVar2 + 1;\n          *(long **)(param_3 + 2) = plVar16;\n          lVar30 = *plVar2;\nLAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;\n        }" ({ "{") (expression_statement "plVar2 = *(long **)(param_3 + 2);" (assignment_expression "plVar2 = *(long **)(param_3 + 2)" (identifier "plVar2") (= "=") (pointer_expression "*(long **)(param_3 + 2)" (* "*") (cast_expression "(long **)(param_3 + 2)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "plVar16 = plVar2 + 1;" (assignment_expression "plVar16 = plVar2 + 1" (identifier "plVar16") (= "=") (binary_expression "plVar2 + 1" (identifier "plVar2") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(long **)(param_3 + 2) = plVar16;" (assignment_expression "*(long **)(param_3 + 2) = plVar16" (pointer_expression "*(long **)(param_3 + 2)" (* "*") (cast_expression "(long **)(param_3 + 2)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")")))) (= "=") (identifier "plVar16")) (; ";")) (expression_statement "lVar30 = *plVar2;" (assignment_expression "lVar30 = *plVar2" (identifier "lVar30") (= "=") (pointer_expression "*plVar2" (* "*") (identifier "plVar2"))) (; ";")) (labeled_statement "LAB_0013f46b:\n          *(long **)(param_3 + 2) = plVar16 + 1;" (statement_identifier "LAB_0013f46b") (: ":") (expression_statement "*(long **)(param_3 + 2) = plVar16 + 1;" (assignment_expression "*(long **)(param_3 + 2) = plVar16 + 1" (pointer_expression "*(long **)(param_3 + 2)" (* "*") (cast_expression "(long **)(param_3 + 2)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "plVar16 + 1" (identifier "plVar16") (+ "+") (number_literal "1"))) (; ";"))) (} "}")))) (expression_statement "lVar23 = *plVar16;" (assignment_expression "lVar23 = *plVar16" (identifier "lVar23") (= "=") (pointer_expression "*plVar16" (* "*") (identifier "plVar16"))) (; ";")) (if_statement "if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }" (if "if") (parenthesized_expression "(*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0)" (( "(") (binary_expression "*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0" (pointer_expression "*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70)" (* "*") (cast_expression "(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar30 + 0x10 + (long)(int)lVar23 * 0x70)" (( "(") (binary_expression "lVar30 + 0x10 + (long)(int)lVar23 * 0x70" (binary_expression "lVar30 + 0x10" (identifier "lVar30") (+ "+") (number_literal "0x10")) (+ "+") (binary_expression "(long)(int)lVar23 * 0x70" (cast_expression "(long)(int)lVar23" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)lVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar23"))) (* "*") (number_literal "0x70"))) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_0013e5b0(param_1);\n          FUN_0013e580(param_1,&DAT_001eaed8,1);\n        }" ({ "{") (expression_statement "FUN_0013e5b0(param_1);" (call_expression "FUN_0013e5b0(param_1)" (identifier "FUN_0013e5b0") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "FUN_0013e580(param_1,&DAT_001eaed8,1);" (call_expression "FUN_0013e580(param_1,&DAT_001eaed8,1)" (identifier "FUN_0013e580") (argument_list "(param_1,&DAT_001eaed8,1)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&DAT_001eaed8" (& "&") (identifier "DAT_001eaed8")) (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));" (call_expression "FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70))" (identifier "FUN_0013e5b0") (argument_list "(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70))" (( "(") (identifier "param_1") (, ",") (pointer_expression "*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70)" (* "*") (cast_expression "(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar30 + 0x18 + (long)(int)lVar23 * 0x70)" (( "(") (binary_expression "lVar30 + 0x18 + (long)(int)lVar23 * 0x70" (binary_expression "lVar30 + 0x18" (identifier "lVar30") (+ "+") (number_literal "0x18")) (+ "+") (binary_expression "(long)(int)lVar23 * 0x70" (cast_expression "(long)(int)lVar23" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)lVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar23"))) (* "*") (number_literal "0x70"))) () ")")))) () ")"))) (; ";")) (expression_statement "FUN_0013e580(param_1,pbVar38,0);" (call_expression "FUN_0013e580(param_1,pbVar38,0)" (identifier "FUN_0013e580") (argument_list "(param_1,pbVar38,0)" (( "(") (identifier "param_1") (, ",") (identifier "pbVar38") (, ",") (number_literal "0") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case '\r':\n        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;\n        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }\n        bVar36 = 0;\n        if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }\n        goto LAB_0013f4cf;" (case "case") (char_literal "'\r'" (' "'") (escape_sequence "\r") (' "'")) (: ":") (expression_statement "bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;" (assignment_expression "bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1" (identifier "bVar36") (= "=") (binary_expression "(&DAT_001f5562)[lVar30 * 6] & 1" (subscript_expression "(&DAT_001f5562)[lVar30 * 6]" (parenthesized_expression "(&DAT_001f5562)" (( "(") (pointer_expression "&DAT_001f5562" (& "&") (identifier "DAT_001f5562")) () ")")) ([ "[") (binary_expression "lVar30 * 6" (identifier "lVar30") (* "*") (number_literal "6")) (] "]")) (& "&") (number_literal "1"))) (; ";")) (if_statement "if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }" (if "if") (parenthesized_expression "(((&DAT_001f5562)[lVar30 * 6] & 1) == 0)" (( "(") (binary_expression "((&DAT_001f5562)[lVar30 * 6] & 1) == 0" (parenthesized_expression "((&DAT_001f5562)[lVar30 * 6] & 1)" (( "(") (binary_expression "(&DAT_001f5562)[lVar30 * 6] & 1" (subscript_expression "(&DAT_001f5562)[lVar30 * 6]" (parenthesized_expression "(&DAT_001f5562)" (( "(") (pointer_expression "&DAT_001f5562" (& "&") (identifier "DAT_001f5562")) () ")")) ([ "[") (binary_expression "lVar30 * 6" (identifier "lVar30") (* "*") (number_literal "6")) (] "]")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (local_b6 != 0) goto LAB_0013f695;\n          uVar19 = *param_3;\n          bVar36 = 0;\n          goto LAB_0013f48c;\n        }" ({ "{") (if_statement "if (local_b6 != 0) goto LAB_0013f695;" (if "if") (parenthesized_expression "(local_b6 != 0)" (( "(") (binary_expression "local_b6 != 0" (identifier "local_b6") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0013f695;" (goto "goto") (statement_identifier "LAB_0013f695") (; ";"))) (expression_statement "uVar19 = *param_3;" (assignment_expression "uVar19 = *param_3" (identifier "uVar19") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" (identifier "bVar36") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0013f48c;" (goto "goto") (statement_identifier "LAB_0013f48c") (; ";")) (} "}"))) (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" (identifier "bVar36") (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_b6 == 0) {\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }" (if "if") (parenthesized_expression "(local_b6 == 0)" (( "(") (binary_expression "local_b6 == 0" (identifier "local_b6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar19 = *param_3;\n          goto LAB_0013f15e;\n        }" ({ "{") (expression_statement "uVar19 = *param_3;" (assignment_expression "uVar19 = *param_3" (identifier "uVar19") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (goto_statement "goto LAB_0013f15e;" (goto "goto") (statement_identifier "LAB_0013f15e") (; ";")) (} "}"))) (goto_statement "goto LAB_0013f4cf;" (goto "goto") (statement_identifier "LAB_0013f4cf") (; ";"))) (case_statement "default:\n        goto switchD_0013ea21_caseD_11;" (default "default") (: ":") (goto_statement "goto switchD_0013ea21_caseD_11;" (goto "goto") (statement_identifier "switchD_0013ea21_caseD_11") (; ";"))) (} "}"))) (expression_statement "bVar7 = param_2[1];" (assignment_expression "bVar7 = param_2[1]" (identifier "bVar7") (= "=") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (labeled_statement "joined_r0x0013ebb8:\n      param_2 = param_2 + 1;" (statement_identifier "joined_r0x0013ebb8") (: ":") (expression_statement "param_2 = param_2 + 1;" (assignment_expression "param_2 = param_2 + 1" (identifier "param_2") (= "=") (binary_expression "param_2 + 1" (identifier "param_2") (+ "+") (number_literal "1"))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "(bVar7 != 0)" (( "(") (binary_expression "bVar7 != 0" (identifier "bVar7") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (labeled_statement "switchD_0013ea21_caseD_11:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }" (statement_identifier "switchD_0013ea21_caseD_11") (: ":") (if_statement "if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }" (if "if") (parenthesized_expression "(local_40 == *(long *)(in_FS_OFFSET + 0x28))" (( "(") (binary_expression "local_40 == *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_40") (== "==") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}")))) (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" (identifier "__stack_chk_fail") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

void function_1(type_1 *pAccum,char *fmt,type_2 *ap)

{
  type_3 var_57;
  long var_62;
  double *var_35;
  char *var_60;
  long *var_59;
  double var_43;
  double var_42;
  bool var_54;
  int iVar8;
  double dVar9;
  type_4 var_4;
  type_4 bVar11;
  type_3 ch;
  int var_13;
  type_3 var_2;
  type_5 uVar14;
  type_4 *var_7;
  size_t sVar16;
  long *var_58;
  type_6 var_12;
  type_7 var_24;
  type_4 *var_50;
  char var_18;
  type_3 var_19;
  int var_31;
  int *var_21;
  type_6 *var_20;
  type_4 *var_28;
  type_4 var_49;
  type_8 *var_3;
  long var_48;
  type_4 *var_14;
  int var_15;
  type_9 *pSrc;
  int var_17;
  type_3 *var_10;
  long var_47;
  type_6 var_29;
  type_3 var_9;
  type_10 var_27;
  type_11 *var_16;
  type_4 var_32;
  type_4 var_23;
  type_4 *var_30;
  long var_1;
  bool var_53;
  bool var_44;
  double var_37;
  double var_38;
  type_4 *var_26;
  type_12 *local_d8;
  int var_46;
  type_4 var_8;
  type_4 var_52;
  char var_22 [70];
  
  var_62 = *(long *)(var_1 + 0x28);
  var_8 = pAccum->printfFlags & 2;
  local_d8 = (type_12 *)0x0;
  if ((pAccum->printfFlags & 2) != 0) {
    var_2 = ap->gp_offset;
    if (var_2 < 0x30) {
      var_3 = (type_8 *)((type_6)var_2 + (long)ap->reg_save_area);
      ap->gp_offset = var_2 + 8;
    }
    else {
      var_3 = (type_8 *)ap->overflow_arg_area;
      ap->overflow_arg_area = var_3 + 1;
    }
    local_d8 = (type_12 *)*var_3;
    var_8 = 1;
  }
  var_4 = *fmt;
  if (var_4 != 0) {
    var_30 = (type_4 *)0x0;
    do {
      var_7 = (type_4 *)fmt;
      if (var_4 != 0x25) {
        var_7 = (type_4 *)var_5(fmt,0x25);
        var_6(pAccum,fmt,(int)var_7 - (int)fmt);
        var_30 = (type_4 *)fmt;
        if (*var_7 == 0) break;
      }
      var_13 = (int)(char)var_7[1];
      if (var_7[1] == 0) {
        var_6(pAccum,"%",1);
        break;
      }
      var_53 = false;
      var_2 = 0xffffffff;
      var_23 = 0;
      var_49 = 0;
      var_54 = false;
      var_32 = 0;
      var_4 = 0;
      var_28 = (type_4 *)0x0;
      var_7 = var_7 + 1;
      do {
        var_14 = var_7;
        switch(var_13) {
        case 0x20:
          var_13 = (int)(char)var_7[1];
          var_4 = 0x20;
          var_14 = var_7 + 1;
          break;
        case 0x21:
          var_13 = (int)(char)var_7[1];
          var_49 = 1;
          var_14 = var_7 + 1;
          break;
        default:
          goto switchD_0013e8bf_caseD_22;
        case 0x23:
          var_13 = (int)(char)var_7[1];
          var_32 = 1;
          var_14 = var_7 + 1;
          break;
        case 0x2a:
          if (var_8 == 0) {
            var_9 = ap->gp_offset;
            if (var_9 < 0x30) {
              var_10 = (type_3 *)((type_6)var_9 + (long)ap->reg_save_area);
              ap->gp_offset = var_9 + 8;
            }
            else {
              var_10 = (type_3 *)ap->overflow_arg_area;
              ap->overflow_arg_area = var_10 + 2;
            }
            var_28 = (type_4 *)(type_6)*var_10;
          }
          else {
            var_12 = var_11(local_d8);
            var_28 = (type_4 *)(var_12 & 0xffffffff);
          }
          var_13 = (int)var_28;
          if (var_13 < 0) {
            if (var_13 == -0x80000000) {
              var_54 = true;
              var_28 = (type_4 *)0x0;
            }
            else {
              var_28 = (type_4 *)(type_6)(type_3)-var_13;
              var_54 = true;
            }
          }
          var_13 = (int)(char)var_7[1];
          var_14 = var_7 + 1;
          if ((var_13 != 0x6c) && (var_13 != 0x2e)) {
            var_18 = '\0';
            goto LAB_0013e9c2;
          }
          break;
        case 0x2b:
          var_13 = (int)(char)var_7[1];
          var_4 = 0x2b;
          var_14 = var_7 + 1;
          break;
        case 0x2c:
          var_13 = (int)(char)var_7[1];
          var_23 = 0x2c;
          var_14 = var_7 + 1;
          break;
        case 0x2d:
          var_54 = true;
          var_13 = (int)(char)var_7[1];
          var_14 = var_7 + 1;
          break;
        case 0x2e:
          var_13 = (int)(char)var_7[1];
          if (var_13 == 0x2a) {
            if (var_8 == 0) {
              var_2 = ap->gp_offset;
              if (var_2 < 0x30) {
                var_10 = (type_3 *)((type_6)var_2 + (long)ap->reg_save_area);
                ap->gp_offset = var_2 + 8;
              }
              else {
                var_10 = (type_3 *)ap->overflow_arg_area;
                ap->overflow_arg_area = var_10 + 2;
              }
              var_9 = *var_10;
            }
            else {
              var_24 = var_11(local_d8);
              var_9 = (type_3)var_24;
            }
            var_2 = var_9;
            if (((int)var_9 < 0) && (var_2 = -var_9, var_9 == 0x80000000)) {
              var_2 = 0xffffffff;
            }
            var_13 = (int)(char)var_7[2];
            var_14 = var_7 + 2;
          }
          else {
            var_14 = var_7 + 1;
            var_2 = 0;
            if (var_13 - 0x30U < 10) {
              do {
                var_14 = var_14 + 1;
                var_2 = var_13 + -0x30 + var_2 * 10;
                var_13 = (int)(char)*var_14;
              } while (var_13 - 0x30U < 10);
              var_2 = var_2 & 0x7fffffff;
            }
          }
          if (var_13 != 0x6c) goto switchD_0013e8bf_caseD_22;
          var_13 = (int)(char)*var_14;
          break;
        case 0x30:
          var_13 = (int)(char)var_7[1];
          var_53 = true;
          var_14 = var_7 + 1;
          break;
        case 0x31:
        case 0x32:
        case 0x33:
        case 0x34:
        case 0x35:
        case 0x36:
        case 0x37:
        case 0x38:
        case 0x39:
          var_15 = (int)(char)var_7[1];
          var_28 = (type_4 *)(type_6)(var_13 - 0x30);
          var_14 = var_7 + 1;
          var_13 = var_15;
          if (var_15 - 0x30U < 10) {
            do {
              var_7 = var_14;
              var_14 = var_7 + 1;
              var_9 = var_15 + -0x30 + (int)var_28 * 10;
              var_28 = (type_4 *)(type_6)var_9;
              var_15 = (int)(char)var_7[1];
            } while (var_15 - 0x30U < 10);
            var_28 = (type_4 *)(type_6)(var_9 & 0x7fffffff);
            var_13 = var_15;
          }
          if ((var_13 != 0x2e) && (var_13 != 0x6c)) goto switchD_0013e8bf_caseD_22;
          var_14 = var_7 + 1;
          var_13 = (int)(char)var_7[1];
          break;
        case 0x6c:
          var_13 = (int)(char)var_7[1];
          if (var_13 == 0x6c) {
            var_13 = (int)(char)var_7[2];
            var_18 = '\x02';
            var_14 = var_7 + 2;
          }
          else {
            var_14 = var_7 + 1;
            var_18 = '\x01';
          }
          goto LAB_0013e9c2;
        }
        var_7 = var_14;
      } while (var_13 != 0);
switchD_0013e8bf_caseD_22:
      var_18 = '\0';
LAB_0013e9c2:
      var_9 = (type_3)var_28;
      var_16 = fmtinfo;
      var_15 = 0;
      var_17 = 100;
      while (var_16 = var_16 + 1, var_17 != var_13) {
        var_15 = var_15 + 1;
        if (var_15 == 0x17) goto switchD_0013ea21_caseD_11;
        var_17 = (int)var_16->fmttype;
      }
      var_27 = fmtinfo[var_15].type;
      switch(var_27) {
      case '\0':
      case '\x0f':
        var_23 = 0;
      case '\x10':
        if ((fmtinfo[var_15].flags & 1) == 0) {
          if (var_8 == 0) {
            var_19 = ap->gp_offset;
            if (var_18 == '\0') {
              if (var_19 < 0x30) {
                var_10 = (type_3 *)((type_6)var_19 + (long)ap->reg_save_area);
                ap->gp_offset = var_19 + 8;
              }
              else {
                var_10 = (type_3 *)ap->overflow_arg_area;
                ap->overflow_arg_area = var_10 + 2;
              }
              var_12 = (type_6)*var_10;
              var_4 = 0;
            }
            else {
LAB_0013f48c:
              if (var_19 < 0x30) {
                var_20 = (type_6 *)((type_6)var_19 + (long)ap->reg_save_area);
                ap->gp_offset = var_19 + 8;
              }
              else {
                var_20 = (type_6 *)ap->overflow_arg_area;
                ap->overflow_arg_area = var_20 + 1;
              }
              var_12 = *var_20;
              var_4 = 0;
            }
          }
          else {
LAB_0013f695:
            var_12 = var_11(local_d8);
            var_4 = 0;
          }
LAB_0013f51d:
          if (var_12 == 0) {
            var_32 = 0;
          }
        }
        else {
          if (var_8 == 0) {
            var_19 = ap->gp_offset;
            if (var_18 == '\0') {
              if (var_19 < 0x30) {
                var_21 = (int *)((type_6)var_19 + (long)ap->reg_save_area);
                ap->gp_offset = var_19 + 8;
              }
              else {
                var_21 = (int *)ap->overflow_arg_area;
                ap->overflow_arg_area = var_21 + 2;
              }
              var_12 = (type_6)*var_21;
              if ((long)var_12 < 0) goto LAB_0013eb61;
            }
            else {
LAB_0013f15e:
              if (var_19 < 0x30) {
                var_20 = (type_6 *)((type_6)var_19 + (long)ap->reg_save_area);
                ap->gp_offset = var_19 + 8;
              }
              else {
                var_20 = (type_6 *)ap->overflow_arg_area;
                ap->overflow_arg_area = var_20 + 1;
              }
              var_12 = *var_20;
              if ((long)var_12 < 0) goto LAB_0013f180;
            }
            goto LAB_0013f51d;
          }
LAB_0013f4cf:
          var_12 = var_11(local_d8);
          if (-1 < (long)var_12) goto LAB_0013f51d;
LAB_0013f180:
          if (var_12 == 0x8000000000000000) {
            var_4 = 0x2d;
            var_12 = 0x8000000000000000;
          }
          else {
LAB_0013eb61:
            var_12 = -var_12;
            var_4 = 0x2d;
          }
        }
        if ((var_53) && (var_19 = var_9 - (var_4 != 0), (int)var_2 < (int)var_19)) {
          var_2 = var_19;
        }
        if ((int)var_2 < 0x25) {
          var_26 = (type_4 *)0x0;
          var_7 = (type_4 *)(var_22 + 0x45);
        }
        else {
          var_24 = (long)(int)var_2 + 10;
          if (var_23 != 0) {
            var_24 = var_24 + (int)var_2 / 3;
          }
          var_26 = (type_4 *)var_25(pAccum,var_24);
          if (var_26 == (type_4 *)0x0) goto switchD_0013ea21_caseD_11;
          var_7 = var_26 + (long)(int)var_24 + -1;
        }
        var_28 = var_7;
        if (var_27 == '\x0f') {
          if ((var_12 % 10 < 4) && ((var_12 / 10) % 10 != 1)) {
            var_13 = (int)(var_12 % 10) * 2;
            var_49 = "thstndrd"[var_13 + 1];
            bVar11 = "thstndrd"[var_13];
          }
          else {
            bVar11 = 0x74;
            var_49 = 0x68;
          }
          var_7[-1] = var_49;
          var_28 = var_7 + -2;
          var_7[-2] = bVar11;
        }
        var_49 = fmtinfo[var_15].charset;
        var_29 = (type_6)fmtinfo[var_15].base;
        do {
          var_28 = var_28 + -1;
          *var_28 = "0123456789ABCDEF0123456789abcdef"[var_12 % var_29 + (type_6)var_49];
          var_53 = var_29 <= var_12;
          var_12 = var_12 / var_29;
        } while (var_53);
        var_19 = (int)var_7 - (int)var_28;
        var_30 = var_28;
        if ((int)var_19 < (int)var_2) {
          var_30 = var_28 + ~(type_6)((var_2 - 1) - var_19);
          do {
            var_28 = var_28 + -1;
            *var_28 = 0x30;
            var_19 = var_2;
          } while (var_28 != var_30);
        }
        if (var_23 != 0) {
          var_17 = (int)(var_19 - 1) / 3;
          var_13 = (int)(var_19 - 1) % 3 + 1;
          var_30 = var_30 + -(long)var_17;
          if (var_17 != 0) {
            iVar8 = 0;
            while( true ) {
              do {
                var_31 = iVar8;
                var_30[var_31] = var_30[var_17 + var_31];
                var_13 = var_13 + -1;
                iVar8 = var_31 + 1;
              } while (var_13 != 0);
              var_30[var_31 + 1] = var_23;
              var_17 = var_17 + -1;
              if (var_17 == 0) break;
              var_13 = 3;
              iVar8 = var_31 + 2;
            }
          }
        }
        if (var_4 != 0) {
          var_30[-1] = var_4;
          var_30 = var_30 + -1;
        }
        if ((var_32 != 0) && (var_4 = fmtinfo[var_15].prefix, var_4 != 0)) {
          var_28 = (type_4 *)("-x0" + var_4);
          var_4 = "-x0"[var_4];
          while (var_4 != 0) {
            var_30 = var_30 + -1;
            var_28 = var_28 + 1;
            *var_30 = var_4;
            var_4 = *var_28;
          }
        }
        var_19 = (int)var_7 - (int)var_30;
        var_9 = var_9 - var_19;
LAB_0013f018:
        if ((int)var_9 < 1) {
LAB_0013fd63:
          var_6(pAccum,(char *)var_30,var_19);
        }
        else if (var_54) {
          var_6(pAccum,(char *)var_30,var_19);
          var_33(pAccum,var_9,' ');
        }
        else {
          var_33(pAccum,var_9,' ');
          var_6(pAccum,(char *)var_30,var_19);
        }
        if (var_26 != (type_4 *)0x0) {
          var_34(pAccum->db,var_26);
        }
        break;
      case '\x01':
      case '\x02':
      case '\x03':
        if (var_8 == 0) {
          var_19 = ap->fp_offset;
          if (var_19 < 0xb0) {
            ap->fp_offset = var_19 + 0x10;
            var_37 = *(double *)((type_6)var_19 + (long)ap->reg_save_area);
          }
          else {
            var_35 = (double *)ap->overflow_arg_area;
            ap->overflow_arg_area = var_35 + 1;
            var_37 = *var_35;
          }
          if (var_2 == 0xffffffff) goto LAB_0013ec1b;
LAB_0013fb0a:
          var_44 = 0 < (int)var_2;
        }
        else {
          var_13 = local_d8->nUsed;
          if (var_13 < local_d8->nArg) {
            local_d8->nUsed = var_13 + 1;
            var_37 = var_36(local_d8->apArg[var_13]);
          }
          else {
            var_37 = 0.0;
          }
          if (var_2 != 0xffffffff) goto LAB_0013fb0a;
LAB_0013ec1b:
          var_44 = true;
          var_2 = 6;
        }
        if (var_37 < 0.0) {
          var_37 = -var_37;
          var_4 = 0x2d;
        }
        var_38 = DAT_001fae78;
        if ((var_27 != '\x03') || (!var_44)) {
          var_19 = var_2 & 0xfff;
          goto joined_r0x0013ec49;
        }
        var_2 = var_2 - 1;
        var_19 = var_2 & 0xfff;
        if (var_19 != 0) {
          do {
            var_38 = var_38 * var_39;
            var_19 = var_19 - 1;
joined_r0x0013ec49:
          } while (var_19 != 0);
          if (var_27 == '\x01') {
            var_37 = var_38 + var_37;
          }
        }
        if (var_40(var_37)) {
          var_9 = var_9 - 3;
          var_19 = 3;
          var_26 = (type_4 *)0x0;
          var_30 = &DAT_001e98fc;
          goto LAB_0013f018;
        }
        var_12 = 0;
        if (0.0 < var_37) {
          var_43 = var_41;
          if (var_37 < var_41) {
            var_43 = (double)_DAT_001fae18;
            var_44 = true;
            var_42 = 1.0;
          }
          else {
            do {
              var_42 = var_43;
              var_19 = (int)var_12 + 100;
              var_12 = (type_6)var_19;
              var_44 = (int)var_19 < 0x15f;
              var_43 = var_41 * var_42;
            } while (var_41 * var_42 <= var_37 && (int)var_19 < 0x15f);
            var_43 = var_42 * (double)_DAT_001fae18;
          }
          if ((var_43 <= var_37) && (var_44)) {
            do {
              var_42 = var_43;
              var_19 = (int)var_12 + 10;
              var_12 = (type_6)var_19;
              var_44 = (int)var_19 < 0x15f;
              var_43 = var_42 * (double)_DAT_001fae18;
            } while (var_42 * (double)_DAT_001fae18 <= var_37 && var_44);
          }
          var_43 = (double)_DAT_001fae10;
          if ((var_42 * var_43 <= var_37) && (dVar9 = var_42 * var_43, var_44)) {
            do {
              var_42 = dVar9;
              var_19 = (int)var_12 + 1;
              var_12 = (type_6)var_19;
              dVar9 = var_42 * var_43;
            } while ((int)var_19 < 0x15f && var_42 * var_43 <= var_37);
          }
          for (var_37 = var_37 / var_42; var_37 < var_45;
              var_37 = var_37 * (double)_DAT_001fae1c) {
            var_12 = (type_6)((int)var_12 - 8);
          }
          for (; var_37 < 1.0; var_37 = var_37 * var_43) {
            var_12 = (type_6)((int)var_12 - 1);
          }
          if (0x15e < (int)var_12) {
            var_30 = (type_4 *)var_22;
            var_7 = var_30 + (var_4 != 0);
            var_22[0] = var_4;
            var_7[0] = 0x49;
            var_7[1] = 0x6e;
            var_7[2] = 0x66;
            var_7[3] = 0;
            if (var_4 == 0) {
              var_9 = var_9 - 3;
              var_19 = 3;
              var_26 = (type_4 *)0x0;
            }
            else {
              var_9 = var_9 - 4;
              var_19 = 4;
              var_26 = (type_4 *)0x0;
            }
            goto LAB_0013f018;
          }
        }
        var_46 = (int)var_12;
        var_52 = var_49;
        if (var_27 == '\x01') {
          var_13 = 0;
          if (-1 < var_46) {
            var_13 = var_46;
          }
          var_47 = (long)var_13;
        }
        else {
          var_37 = var_38 + var_37;
          if ((double)_DAT_001fae10 <= var_37) {
            var_37 = var_37 * var_39;
            var_12 = (type_6)(var_46 + 1);
          }
          var_46 = (int)var_12;
          if (var_27 == '\x03') {
            var_52 = var_32 ^ 1;
            if ((var_46 < -4) || ((int)var_2 < var_46)) {
              var_47 = 0;
              var_27 = '\x02';
              var_46 = 0;
            }
            else {
              var_2 = var_2 - var_46;
              var_13 = 0;
              if (-1 < var_46) {
                var_13 = var_46;
              }
              var_27 = '\x01';
              var_47 = (long)var_13;
            }
          }
          else if (var_27 == '\x02') {
            var_47 = 0;
            var_46 = 0;
          }
          else {
            var_27 = '\x01';
            var_13 = 0;
            if (-1 < var_46) {
              var_13 = var_46;
            }
            var_47 = (long)var_13;
          }
        }
        var_48 = (long)(int)var_9;
        var_47 = var_47 + (int)var_2 + 0xf + var_48;
        if (var_47 < 0x47) {
          var_26 = (type_4 *)0x0;
          var_30 = (type_4 *)var_22;
        }
        else {
          var_30 = (type_4 *)var_25(pAccum,var_47);
          var_26 = var_30;
          if (var_30 == (type_4 *)0x0) goto switchD_0013ea21_caseD_11;
        }
        var_13 = (type_3)var_49 * 10 + 0x10;
        var_44 = 0 < (int)var_2;
        var_28 = var_30;
        var_7 = var_30 + 1;
        if (var_4 != 0) {
          *var_30 = var_4;
          var_7 = var_30 + 2;
          var_28 = var_30 + 1;
        }
        if (var_46 < 0) {
          *var_28 = 0x30;
          var_19 = var_46 + 1;
          if (var_44 || (var_32 != 0 || var_49 != 0)) {
            var_28 = var_7 + 1;
            *var_7 = 0x2e;
            var_7 = var_28;
            if (var_19 == 0) goto LAB_0013edc4;
LAB_0013ed90:
            var_28 = var_7;
            do {
              var_50 = var_28 + 1;
              *var_28 = 0x30;
              var_28 = var_50;
            } while (var_50 != var_7 + (type_6)~var_19 + 1);
            var_2 = (var_2 - 1) + var_46 + 2;
            var_7 = var_7 + (type_6)(type_3)-(var_46 + 2) + 1;
LAB_0013edc4:
            if (0 < (int)var_2) {
              var_28 = var_7;
              do {
                while (var_50 = var_28 + 1, 0 < var_13) {
                  var_13 = var_13 + -1;
                  var_46._0_1_ = (char)(int)var_51(var_37);
                  *var_28 = (char)var_46 + 0x30;
                  var_37 = (var_37 - (double)(int)var_51(var_37)) * (double)_DAT_001fae10;
                  var_28 = var_50;
                  if (var_50 == var_7 + (type_6)(var_2 - 1) + 1) goto LAB_0013ee39;
                }
                *var_28 = 0x30;
                var_28 = var_50;
              } while (var_50 != var_7 + (type_6)(var_2 - 1) + 1);
LAB_0013ee39:
              var_7 = var_7 + (type_6)(var_2 - 1) + 1;
            }
            goto LAB_0013ee42;
          }
          if (var_19 != 0) goto LAB_0013ed90;
        }
        else {
          var_7 = var_28 + (long)var_46 + 1;
          do {
            while (var_50 = var_28, var_28 = var_50 + 1, 0 < var_13) {
              var_13 = var_13 + -1;
              var_46._0_1_ = (char)(int)var_51(var_37);
              *var_50 = (char)var_46 + 0x30;
              var_37 = (var_37 - (double)(int)var_51(var_37)) * (double)_DAT_001fae10;
              if (var_28 == var_7) goto LAB_0013fe8d;
            }
            *var_50 = 0x30;
          } while (var_28 != var_7);
LAB_0013fe8d:
          if (var_44 || (var_32 != 0 || var_49 != 0)) {
            var_7 = var_50 + 2;
            *var_28 = 0x2e;
            goto LAB_0013edc4;
          }
LAB_0013ee42:
          if ((var_52 != 0) && (var_44 || (var_32 != 0 || var_49 != 0))) {
            while (var_7[-1] == 0x30) {
              var_7 = var_7 + -1;
              *var_7 = 0;
            }
            if (var_7[-1] == 0x2e) {
              if (var_49 == 0) {
                var_7[-1] = 0;
                var_7 = var_7 + -1;
              }
              else {
                *var_7 = 0x30;
                var_7 = var_7 + 1;
              }
            }
          }
        }
        if (var_27 == '\x02') {
          var_28 = var_7 + 2;
          *var_7 = "0123456789ABCDEF0123456789abcdef"[fmtinfo[var_15].charset];
          var_49 = 0x2b;
          if ((int)var_12 < 0) {
            var_12 = (type_6)(type_3)-(int)var_12;
            var_49 = 0x2d;
          }
          var_7[1] = var_49;
          if (99 < (int)var_12) {
            var_28 = var_7 + 3;
            var_7[2] = (char)(var_12 / 100) + 0x30;
            var_12 = (type_6)(type_3)((int)var_12 + (int)(var_12 / 100) * -100);
          }
          var_7 = var_28 + 2;
          var_18 = (char)(var_12 / 10);
          *var_28 = var_18 + 0x30;
          var_28[1] = (char)var_12 + var_18 * -10 + 0x30;
        }
        *var_7 = 0;
        var_19 = (int)var_7 - (int)var_30;
        if (!(bool)(var_53 & (var_54 ^ 1U))) {
          var_9 = var_9 - var_19;
          goto LAB_0013f018;
        }
        if ((int)var_19 < (int)var_9) {
          var_13 = var_9 - var_19;
          if (var_13 <= (int)var_9) {
            do {
              var_30[var_48] = var_30[var_48 - var_13];
              var_48 = var_48 + -1;
            } while (var_13 <= (int)var_48);
          }
          var_7 = var_30 + (var_4 != 0);
          do {
            *var_7 = 0x30;
            var_7 = var_7 + 1;
            var_19 = var_9;
          } while (var_30 + (type_6)(var_13 - 1) + (type_6)(var_4 != 0) + 1 != var_7);
        }
        goto LAB_0013fd63;
      case '\x04':
        if (var_8 != 0) {
LAB_0013f287:
          var_6(pAccum,(char *)var_30,0);
          break;
        }
        uVar14 = pAccum->nChar;
        var_2 = ap->gp_offset;
        if (var_2 < 0x30) {
          var_3 = (type_8 *)((type_6)var_2 + (long)ap->reg_save_area);
          ap->gp_offset = var_2 + 8;
        }
        else {
          var_3 = (type_8 *)ap->overflow_arg_area;
          ap->overflow_arg_area = var_3 + 1;
        }
        *(type_5 *)*var_3 = uVar14;
        var_6(pAccum,(char *)var_30,0);
        var_4 = var_14[1];
        goto joined_r0x0013ebb8;
      case '\x05':
      case '\x06':
        if (var_8 == 0) {
          var_19 = ap->gp_offset;
          if (var_19 < 0x30) {
            ap->gp_offset = var_19 + 8;
            var_30 = *(type_4 **)((type_6)var_19 + (long)ap->reg_save_area);
          }
          else {
            var_3 = (type_8 *)ap->overflow_arg_area;
            ap->overflow_arg_area = var_3 + 1;
            var_30 = (type_4 *)*var_3;
          }
          if (var_30 == (type_4 *)0x0) goto LAB_0013fb9a;
          if (var_27 != '\x06') goto LAB_0013f840;
          var_26 = var_30;
          if (((pAccum->nChar != 0) || (pAccum->mxAlloc == 0)) ||
             ((var_9 != 0 || (-1 < (int)var_2)))) goto joined_r0x0013fbae;
          if (pAccum->accError == '\0') {
            pAccum->zText = (char *)var_30;
            uVar14 = (*sqlite3Config.m.xSize)(var_30);
            pAccum->nAlloc = uVar14;
            sVar16 = var_55((char *)var_30);
            pAccum->printfFlags = pAccum->printfFlags | 4;
            pAccum->nChar = (type_3)sVar16 & 0x7fffffff;
            var_6(pAccum,(char *)var_30,0);
            break;
          }
LAB_0013fbb4:
          sVar16 = var_55((char *)var_30);
          var_19 = (type_3)sVar16 & 0x7fffffff;
          goto LAB_0013fa12;
        }
        var_30 = (type_4 *)var_56(local_d8);
        if (var_30 == (type_4 *)0x0) {
LAB_0013fb9a:
          var_26 = (type_4 *)0x0;
          var_30 = &DAT_001e836f;
        }
        else {
LAB_0013f840:
          var_26 = (type_4 *)0x0;
        }
joined_r0x0013fbae:
        if (var_2 == 0xffffffff) goto LAB_0013fbb4;
        var_7 = var_30;
        if (var_49 != 0) {
          while ((var_50 = var_7, var_2 = var_2 - 1, var_2 != 0xffffffff && (*var_50 != 0)))
          {
            var_7 = var_50 + 1;
            if (0xbf < *var_50) {
              var_4 = var_50[1];
              while ((var_4 & 0xc0) == 0x80) {
                var_7 = var_7 + 1;
                var_4 = *var_7;
              }
            }
          }
          var_19 = (int)var_50 - (int)var_30;
          var_49 = 1;
          goto LAB_0013fa12;
        }
        if ((var_2 == 0) || (*var_30 == 0)) {
          var_19 = 0;
          goto LAB_0013f018;
        }
        var_47 = 1;
        do {
          var_19 = (type_3)var_47;
          if ((type_6)(var_2 - 1) + 1 == var_47) break;
          var_7 = var_30 + var_47;
          var_47 = var_47 + 1;
        } while (*var_7 != 0);
        goto LAB_0013eff2;
      case '\a':
        var_22[0] = '%';
        var_9 = var_9 - 1;
        var_30 = (type_4 *)var_22;
        var_19 = 1;
        var_26 = (type_4 *)0x0;
        goto LAB_0013f018;
      case '\b':
        if (var_8 == 0) {
          var_19 = ap->gp_offset;
          if (var_19 < 0x30) {
            ap->gp_offset = var_19 + 8;
            var_57 = *(type_3 *)((type_6)var_19 + (long)ap->reg_save_area);
          }
          else {
            var_10 = (type_3 *)ap->overflow_arg_area;
            ap->overflow_arg_area = var_10 + 2;
            var_57 = *var_10;
          }
          if (var_57 < 0x80) {
            var_22[0] = (type_4)var_57;
            var_19 = 1;
          }
          else {
            var_18 = ((type_4)var_57 & 0x3f) + 0x80;
            var_4 = (type_4)(var_57 >> 6);
            if (var_57 < 0x800) {
              var_22[1] = var_18;
              var_19 = 2;
              var_22[0] = var_4 - 0x40;
            }
            else {
              var_22[2] = (var_4 & 0x3f) + 0x80;
              var_4 = (type_4)(var_57 >> 0xc);
              if (var_57 < 0x10000) {
                var_22[1] = var_22[2];
                var_19 = 3;
                var_22[0] = var_4 - 0x20;
                var_22[2] = var_18;
              }
              else {
                var_19 = 4;
                var_22[3] = var_18;
                var_22[0] = ((type_4)(var_57 >> 0x12) & 7) - 0x10;
                var_22[1] = (var_4 & 0x3f) + 0x80;
              }
            }
          }
        }
        else {
          var_30 = (type_4 *)var_56(local_d8);
          if (var_30 == (type_4 *)0x0) {
            var_22[0] = '\0';
          }
          else {
            var_22[0] = *var_30;
            if ((*var_30 & 0xc0) == 0xc0) {
              var_47 = 1;
              do {
                var_19 = (type_3)var_47;
                if ((var_30[var_47] & 0xc0) != 0x80) goto joined_r0x0013fa79;
                var_22[var_47] = var_30[var_47];
                var_47 = var_47 + 1;
              } while (var_47 != 4);
              var_19 = 4;
              goto joined_r0x0013fa79;
            }
          }
          var_19 = 1;
        }
joined_r0x0013fa79:
        if (1 < (int)var_2) {
          var_13 = var_2 - 1;
          var_9 = var_9 - var_13;
          if (((int)var_9 < 2) || (var_54)) {
            var_26 = (type_4 *)(type_6)var_9;
          }
          else {
            var_33(pAccum,var_9 - 1,' ');
            var_26 = (type_4 *)0x0;
          }
          do {
            var_6(pAccum,var_22,var_19);
            var_13 = var_13 + -1;
          } while (var_13 != 0);
          var_28 = var_26;
          var_9 = (type_3)var_26;
        }
        if (0 < (int)var_9) {
          var_30 = (type_4 *)var_22;
          var_26 = (type_4 *)0x0;
          var_13 = var_19 - 1;
          goto LAB_0013efc6;
        }
        var_30 = (type_4 *)var_22;
        var_6(pAccum,(char *)var_30,var_19);
        break;
      case '\t':
      case '\n':
      case '\x0e':
        var_4 = (var_27 != '\x0e') * '\x05' + 0x22;
        if (var_8 == 0) {
          var_19 = ap->gp_offset;
          if (var_19 < 0x30) {
            var_3 = (type_8 *)((type_6)var_19 + (long)ap->reg_save_area);
            ap->gp_offset = var_19 + 8;
          }
          else {
            var_3 = (type_8 *)ap->overflow_arg_area;
            ap->overflow_arg_area = var_3 + 1;
          }
          var_26 = (type_4 *)*var_3;
          if (var_26 == (type_4 *)0x0) goto LAB_0013eec9;
LAB_0013f8df:
          if ((var_2 != 0) && (var_32 = *var_26, var_7 = var_26, var_32 != 0))
          goto LAB_0013f8fa;
          if (var_27 != '\n') {
            var_50 = (type_4 *)var_22;
            var_19 = 0;
            var_26 = (type_4 *)0x0;
            var_30 = var_50;
            goto LAB_0013fa0c;
          }
          var_30 = (type_4 *)var_22;
          var_22[0] = var_4;
          var_47 = 2;
          var_19 = 2;
          var_26 = (type_4 *)0x0;
          var_50 = (type_4 *)(var_22 + 1);
LAB_0013fa06:
          *var_50 = var_4;
          var_50 = var_30 + var_47;
        }
        else {
          var_26 = (type_4 *)var_56(local_d8);
          if (var_26 != (type_4 *)0x0) goto LAB_0013f8df;
LAB_0013eec9:
          var_7 = (type_4 *)0x1e846d;
          if (var_27 != '\n') {
            var_7 = &DAT_001e9900;
          }
          if (var_2 == 0) {
            var_50 = (type_4 *)var_22;
            var_19 = 0;
            var_30 = var_50;
          }
          else {
            var_32 = *var_7;
LAB_0013f8fa:
            var_15 = 0;
            var_13 = 0;
            do {
              var_17 = var_13;
              if (var_4 == var_32) {
                var_15 = var_15 + 1;
              }
              else if (((var_49 != 0) && ((var_32 & 0xc0) == 0xc0)) &&
                      (((int)(char)var_7[(long)var_13 + 1] & 0xc0U) == 0x80)) {
                var_47 = (long)(var_13 + 1);
                do {
                  var_48 = var_47 + 1;
                  var_17 = (int)var_47;
                  var_47 = var_47 + 1;
                } while (((int)(char)var_7[var_48] & 0xc0U) == 0x80);
              }
              var_13 = var_17 + 1;
              if (var_2 == 1) break;
              var_2 = var_2 - 1;
              var_32 = var_7[var_13];
            } while (var_32 != 0);
            var_44 = var_26 != (type_4 *)0x0;
            var_15 = var_17 + 4 + var_15;
            var_53 = var_44 && var_27 == '\n';
            if (var_15 < 0x47) {
              var_26 = (type_4 *)0x0;
              var_30 = (type_4 *)var_22;
            }
            else {
              var_30 = (type_4 *)var_25(pAccum,(long)var_15);
              var_26 = var_30;
              if (var_30 == (type_4 *)0x0) goto switchD_0013ea21_caseD_11;
            }
            if (var_53) {
              *var_30 = var_4;
            }
            var_47 = 0;
            var_2 = (type_3)var_53;
            do {
              while( true ) {
                var_32 = var_7[var_47];
                var_19 = var_2 + 1;
                var_30[(int)var_2] = var_32;
                var_50 = var_30 + (int)var_19;
                if (var_4 != var_32) break;
                var_19 = var_2 + 2;
                *var_50 = var_4;
                var_47 = var_47 + 1;
                var_50 = var_30 + (int)var_19;
                var_2 = var_19;
                if (var_13 <= (int)var_47) goto LAB_0013f9fa;
              }
              var_47 = var_47 + 1;
              var_2 = var_19;
            } while ((int)var_47 < var_13);
LAB_0013f9fa:
            if (var_44 && var_27 == '\n') {
              var_19 = var_19 + 1;
              var_47 = (long)(int)var_19;
              goto LAB_0013fa06;
            }
          }
        }
LAB_0013fa0c:
        *var_50 = 0;
LAB_0013fa12:
        if (((0 < (int)var_9) && (var_49 != 0)) && (var_13 = var_19 - 1, -1 < var_13)) {
LAB_0013efc6:
          var_47 = (long)var_13;
          do {
            var_7 = var_30 + var_47;
            var_47 = var_47 + -1;
            var_9 = (int)var_28 + (type_3)(((int)(char)*var_7 & 0xc0U) == 0x80);
            var_28 = (type_4 *)(type_6)var_9;
          } while (-1 < (int)var_47);
        }
LAB_0013eff2:
        var_9 = var_9 - var_19;
        goto LAB_0013f018;
      case '\v':
        if ((pAccum->printfFlags & 1) == 0) goto switchD_0013ea21_caseD_11;
        var_2 = ap->gp_offset;
        if (var_2 < 0x30) {
          var_58 = (long *)((type_6)var_2 + (long)ap->reg_save_area);
          ap->gp_offset = var_2 + 8;
        }
        else {
          var_58 = (long *)ap->overflow_arg_area;
          ap->overflow_arg_area = var_58 + 1;
        }
        var_3 = (type_8 *)*var_58;
        if ((var_3 == (type_8 *)0x0) || (*(int *)(var_3 + 1) == 0)) goto LAB_0013f287;
        var_6(pAccum,(char *)*var_3,*(int *)(var_3 + 1));
        var_6(pAccum,(char *)var_30,0);
        break;
      case '\f':
        if ((pAccum->printfFlags & 1) == 0) goto switchD_0013ea21_caseD_11;
        var_2 = ap->gp_offset;
        if (var_2 < 0x30) {
          var_9 = var_2 + 8;
          ap->gp_offset = var_9;
          var_47 = *(long *)((long)ap->reg_save_area + (type_6)var_2);
          if (0x2f < var_9) {
            var_58 = (long *)ap->overflow_arg_area;
            goto LAB_0013f46b;
          }
          var_58 = (long *)((long)ap->reg_save_area + (type_6)var_9);
          ap->gp_offset = var_2 + 0x10;
        }
        else {
          var_59 = (long *)ap->overflow_arg_area;
          var_58 = var_59 + 1;
          ap->overflow_arg_area = var_58;
          var_47 = *var_59;
LAB_0013f46b:
          ap->overflow_arg_area = var_58 + 1;
        }
        var_48 = *var_58;
        var_60 = *(char **)(var_47 + 0x10 + (long)(int)var_48 * 0x70);
        if (var_60 != (char *)0x0) {
          var_61(pAccum,var_60);
          var_6(pAccum,".",1);
        }
        var_61(pAccum,*(char **)(var_47 + 0x18 + (long)(int)var_48 * 0x70));
        var_6(pAccum,(char *)var_30,0);
        break;
      case '\r':
        var_23 = fmtinfo[var_15].flags & 1;
        if ((fmtinfo[var_15].flags & 1) == 0) {
          if (var_8 != 0) goto LAB_0013f695;
          var_19 = ap->gp_offset;
          var_23 = 0;
          goto LAB_0013f48c;
        }
        var_23 = 0;
        if (var_8 == 0) {
          var_19 = ap->gp_offset;
          goto LAB_0013f15e;
        }
        goto LAB_0013f4cf;
      default:
        goto switchD_0013ea21_caseD_11;
      }
      var_4 = var_14[1];
joined_r0x0013ebb8:
      fmt = (char *)(var_14 + 1);
    } while (var_4 != 0);
  }
switchD_0013ea21_caseD_11:
  if (var_62 == *(long *)(var_1 + 0x28)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  var_63();
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (sized_type_specifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (sized_type_specifier) 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: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (sized_type_specifier) 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: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) 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: (sized_type_specifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) 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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (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: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (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: (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))) (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: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (break_statement)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal)))) (break_statement))) (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: (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: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (switch_statement condition: (parenthesized_expression (identifier)) body: (compound_statement (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (break_statement)) (case_statement (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (break_statement)) (case_statement value: (number_literal) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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 (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (identifier))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (true)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (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 (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence)))) (goto_statement label: (statement_identifier)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (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: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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 (comma_expression left: (assignment_expression left: (identifier) right: (unary_expression argument: (identifier))) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))))))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) 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: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (break_statement)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (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 (identifier)) arguments: (argument_list (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: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (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: (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))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_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: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (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)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence)))) (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence))))))) (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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: (sized_type_specifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))))) (switch_statement condition: (parenthesized_expression (identifier)) body: (compound_statement (case_statement value: (char_literal (escape_sequence))) (case_statement value: (char_literal (escape_sequence)) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (case_statement value: (char_literal (escape_sequence)) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) 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: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (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: (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: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_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: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) 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: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) 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 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: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_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: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (binary_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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (string_literal (string_content)) index: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (string_literal (string_content)) index: (identifier))))) alternative: (else_clause (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (binary_expression left: (identifier) right: (number_literal))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (string_literal (string_content)) index: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) condition: (parenthesized_expression (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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: (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: (binary_expression left: (identifier) right: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (identifier)))))))) (do_statement body: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) 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: (unary_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (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))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_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 (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (identifier)))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (type_identifier)) value: (identifier)))) (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 (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))))) (labeled_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 (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier)))))) (break_statement)) (case_statement value: (char_literal (escape_sequence))) (case_statement value: (char_literal (escape_sequence))) (case_statement value: (char_literal (escape_sequence)) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (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: (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) 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 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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (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: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (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: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (true)))) (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: (unary_expression argument: (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: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (unary_expression argument: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (MISSING ";")))) condition: (parenthesized_expression (binary_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: (binary_expression left: (identifier) right: (identifier)))))))) (if_statement condition: (parenthesized_expression (call_expression function: (identifier) arguments: (argument_list (identifier)))) 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 (identifier)) arguments: (argument_list (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (do_statement body: (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (binary_expression left: (identifier) right: (identifier))))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (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: (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: (identifier))) right: (parenthesized_expression (identifier)))) consequence: (compound_statement (do_statement body: (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (identifier)) right: (identifier)))))) (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: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))) right: (identifier))))) consequence: (compound_statement (do_statement body: (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))))))) (for_statement initializer: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))) condition: (binary_expression left: (identifier) right: (identifier)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (for_statement condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) 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 (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) 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: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (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)) 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: (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 (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))))))) 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) 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))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal)) right: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) 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: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) 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: (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: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (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))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (unary_expression argument: (identifier)))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier)))) right: (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: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (number_literal) right: (identifier)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (identifier))))))) 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: (binary_expression left: (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))) right: (number_literal)))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (number_literal) right: (identifier))))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (identifier))))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (goto_statement label: (statement_identifier))))) (labeled_statement label: (statement_identifier) (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: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))))) consequence: (compound_statement (while_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) body: (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: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))))))))))) (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: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (string_literal (string_content)) index: (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) 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: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (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: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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 (identifier)) arguments: (argument_list (binary_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)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (identifier)))))) (goto_statement label: (statement_identifier))) (case_statement value: (char_literal (escape_sequence)) (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: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal))))) (break_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))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier))) (case_statement value: (char_literal (escape_sequence))) (case_statement value: (char_literal (escape_sequence)) (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: (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))))) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))) consequence: (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: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))))) 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: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal)))) (break_statement))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_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: (pointer_expression argument: (identifier))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (while_statement condition: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (while_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (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: (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)) right: (identifier))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (goto_statement label: (statement_identifier))) (case_statement value: (char_literal (escape_sequence)) (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) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (number_literal)))) (goto_statement label: (statement_identifier))) (case_statement value: (char_literal (escape_sequence)) (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: (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: (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (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 (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (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 (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (subscript_expression argument: (identifier) index: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (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 (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (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 (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (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: (identifier))) (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: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (break_statement)) (case_statement value: (char_literal (escape_sequence))) (case_statement value: (char_literal (escape_sequence))) (case_statement value: (char_literal (escape_sequence)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) right: (char_literal (escape_sequence))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_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: (identifier))) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))))) consequence: (goto_statement label: (statement_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: (identifier))) (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: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) 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: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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)))))) (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 (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: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (identifier)))) 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: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (char_literal (escape_sequence)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) 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: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (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: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) 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)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) consequence: (compound_statement (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (goto_statement label: (statement_identifier))))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (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 (binary_expression left: (identifier) right: (number_literal))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (binary_expression left: (number_literal) right: (identifier)))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier)))) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (labeled_statement label: (statement_identifier) (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 (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))) (goto_statement label: (statement_identifier))) (case_statement value: (char_literal (escape_sequence)) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (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: (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: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator 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: (sized_type_specifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal)))) (break_statement)) (case_statement value: (char_literal (escape_sequence)) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (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: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (sized_type_specifier) declarator: (abstract_pointer_declarator 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: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (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: (sized_type_specifier) 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: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) 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: (pointer_expression argument: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) 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: (sized_type_specifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal)))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal)))))) (expression_statement (call_expression function: (identifier) 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: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal)))) (break_statement)) (case_statement value: (char_literal (escape_sequence)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (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: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (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 (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier))) (case_statement (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (return_statement)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))

/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

void MASKED(undefined8 *param_1,byte *param_2,uint *param_3)

{
  double *pdVar1;
  long *plVar2;
  double dVar3;
  double dVar4;
  bool bVar5;
  double dVar6;
  byte bVar7;
  byte bVar8;
  int iVar9;
  uint uVar10;
  undefined4 uVar11;
  uint uVar12;
  byte *pbVar13;
  byte *pbVar14;
  size_t sVar15;
  long *plVar16;
  byte *pbVar17;
  char cVar18;
  uint uVar19;
  int iVar20;
  int *piVar21;
  ulong *puVar22;
  long lVar23;
  byte *pbVar24;
  byte bVar25;
  undefined8 *puVar26;
  long lVar27;
  ulong uVar28;
  int iVar29;
  long lVar30;
  int iVar31;
  uint *puVar32;
  char cVar33;
  char *pcVar34;
  byte bVar35;
  byte bVar36;
  ulong uVar37;
  byte *pbVar38;
  long in_FS_OFFSET;
  bool bVar39;
  bool bVar40;
  double dVar41;
  double dVar42;
  byte *local_e0;
  int *local_d8;
  int local_c8;
  byte local_b6;
  byte local_b5;
  byte local_88 [69];
  byte local_43 [3];
  long local_40;
  
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  local_b6 = *(byte *)((long)param_1 + 0x1d) & 2;
  local_d8 = (int *)0x0;
  if ((*(byte *)((long)param_1 + 0x1d) & 2) != 0) {
    uVar10 = *param_3;
    if (uVar10 < 0x30) {
      puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));
      *param_3 = uVar10 + 8;
    }
    else {
      puVar26 = *(undefined8 **)(param_3 + 2);
      *(undefined8 **)(param_3 + 2) = puVar26 + 1;
    }
    local_d8 = (int *)*puVar26;
    local_b6 = 1;
  }
  bVar7 = *param_2;
  if (bVar7 != 0) {
    pbVar38 = (byte *)0x0;
    do {
      pbVar13 = param_2;
      if (bVar7 != 0x25) {
        pbVar13 = (byte *)strchrnul((char *)param_2,0x25);
        FUN_0013e580(param_1,param_2,(long)pbVar13 - (long)param_2);
        pbVar38 = param_2;
        if (*pbVar13 == 0) break;
      }
      iVar9 = (int)(char)pbVar13[1];
      if (pbVar13[1] == 0) {
        FUN_0013e580(param_1,&DAT_001e9c91,1);
        break;
      }
      bVar39 = false;
      uVar10 = 0xffffffff;
      bVar36 = 0;
      bVar25 = 0;
      bVar5 = false;
      bVar35 = 0;
      bVar7 = 0;
      pbVar24 = (byte *)0x0;
      pbVar13 = pbVar13 + 1;
      do {
        param_2 = pbVar13;
        switch(iVar9) {
        case 0x20:
          iVar9 = (int)(char)pbVar13[1];
          bVar7 = 0x20;
          param_2 = pbVar13 + 1;
          break;
        case 0x21:
          iVar9 = (int)(char)pbVar13[1];
          bVar25 = 1;
          param_2 = pbVar13 + 1;
          break;
        default:
          goto switchD_0013e8bf_caseD_22;
        case 0x23:
          iVar9 = (int)(char)pbVar13[1];
          bVar35 = 1;
          param_2 = pbVar13 + 1;
          break;
        case 0x2a:
          if (local_b6 == 0) {
            uVar12 = *param_3;
            if (uVar12 < 0x30) {
              puVar32 = (uint *)((ulong)uVar12 + *(long *)(param_3 + 4));
              *param_3 = uVar12 + 8;
            }
            else {
              puVar32 = *(uint **)(param_3 + 2);
              *(uint **)(param_3 + 2) = puVar32 + 2;
            }
            uVar12 = *puVar32;
          }
          else {
            uVar12 = FUN_001203a0();
          }
          pbVar24 = (byte *)(ulong)uVar12;
          if ((int)uVar12 < 0) {
            if (uVar12 == 0x80000000) {
              bVar5 = true;
              pbVar24 = (byte *)0x0;
            }
            else {
              pbVar24 = (byte *)(ulong)-uVar12;
              bVar5 = true;
            }
          }
          iVar9 = (int)(char)pbVar13[1];
          param_2 = pbVar13 + 1;
          if ((iVar9 != 0x6c) && (iVar9 != 0x2e)) {
            cVar18 = '\0';
            goto LAB_0013e9c2;
          }
          break;
        case 0x2b:
          iVar9 = (int)(char)pbVar13[1];
          bVar7 = 0x2b;
          param_2 = pbVar13 + 1;
          break;
        case 0x2c:
          iVar9 = (int)(char)pbVar13[1];
          bVar36 = 0x2c;
          param_2 = pbVar13 + 1;
          break;
        case 0x2d:
          bVar5 = true;
          iVar9 = (int)(char)pbVar13[1];
          param_2 = pbVar13 + 1;
          break;
        case 0x2e:
          iVar9 = (int)(char)pbVar13[1];
          if (iVar9 == 0x2a) {
            if (local_b6 == 0) {
              uVar10 = *param_3;
              if (uVar10 < 0x30) {
                puVar32 = (uint *)((ulong)uVar10 + *(long *)(param_3 + 4));
                *param_3 = uVar10 + 8;
              }
              else {
                puVar32 = *(uint **)(param_3 + 2);
                *(uint **)(param_3 + 2) = puVar32 + 2;
              }
              uVar12 = *puVar32;
            }
            else {
              uVar12 = FUN_001203a0();
            }
            uVar10 = uVar12;
            if (((int)uVar12 < 0) && (uVar10 = -uVar12, uVar12 == 0x80000000)) {
              uVar10 = 0xffffffff;
            }
            iVar9 = (int)(char)pbVar13[2];
            param_2 = pbVar13 + 2;
          }
          else {
            param_2 = pbVar13 + 1;
            uVar10 = 0;
            if (iVar9 - 0x30U < 10) {
              do {
                param_2 = param_2 + 1;
                uVar10 = iVar9 + -0x30 + uVar10 * 10;
                iVar9 = (int)(char)*param_2;
              } while (iVar9 - 0x30U < 10);
              uVar10 = uVar10 & 0x7fffffff;
            }
          }
          if (iVar9 != 0x6c) goto switchD_0013e8bf_caseD_22;
          iVar9 = (int)(char)*param_2;
          break;
        case 0x30:
          iVar9 = (int)(char)pbVar13[1];
          bVar39 = true;
          param_2 = pbVar13 + 1;
          break;
        case 0x31:
        case 0x32:
        case 0x33:
        case 0x34:
        case 0x35:
        case 0x36:
        case 0x37:
        case 0x38:
        case 0x39:
          iVar29 = (int)(char)pbVar13[1];
          pbVar24 = (byte *)(ulong)(iVar9 - 0x30);
          param_2 = pbVar13 + 1;
          iVar9 = iVar29;
          if (iVar29 - 0x30U < 10) {
            do {
              pbVar13 = param_2;
              param_2 = pbVar13 + 1;
              uVar12 = iVar29 + -0x30 + (int)pbVar24 * 10;
              pbVar24 = (byte *)(ulong)uVar12;
              iVar29 = (int)(char)pbVar13[1];
            } while (iVar29 - 0x30U < 10);
            pbVar24 = (byte *)(ulong)(uVar12 & 0x7fffffff);
            iVar9 = iVar29;
          }
          if ((iVar9 != 0x2e) && (iVar9 != 0x6c)) goto switchD_0013e8bf_caseD_22;
          param_2 = pbVar13 + 1;
          iVar9 = (int)(char)pbVar13[1];
          break;
        case 0x6c:
          iVar9 = (int)(char)pbVar13[1];
          if (iVar9 == 0x6c) {
            iVar9 = (int)(char)pbVar13[2];
            cVar18 = '\x02';
            param_2 = pbVar13 + 2;
          }
          else {
            param_2 = pbVar13 + 1;
            cVar18 = '\x01';
          }
          goto LAB_0013e9c2;
        }
        pbVar13 = param_2;
      } while (iVar9 != 0);
switchD_0013e8bf_caseD_22:
      cVar18 = '\0';
LAB_0013e9c2:
      uVar12 = (uint)pbVar24;
      pcVar34 = "s";
      iVar29 = 0;
      iVar31 = 100;
      while (iVar31 != iVar9) {
        iVar29 = iVar29 + 1;
        if (iVar29 == 0x17) goto switchD_0013ea21_caseD_11;
        cVar33 = *pcVar34;
        pcVar34 = pcVar34 + 6;
        iVar31 = (int)cVar33;
      }
      lVar30 = (long)iVar29;
      cVar33 = (&DAT_001f5563)[lVar30 * 6];
      switch(cVar33) {
      case '\0':
      case '\x0f':
        bVar36 = 0;
      case '\x10':
        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {
          if (local_b6 == 0) {
            uVar19 = *param_3;
            if (cVar18 == '\0') {
              if (uVar19 < 0x30) {
                puVar32 = (uint *)((ulong)uVar19 + *(long *)(param_3 + 4));
                *param_3 = uVar19 + 8;
              }
              else {
                puVar32 = *(uint **)(param_3 + 2);
                *(uint **)(param_3 + 2) = puVar32 + 2;
              }
              uVar37 = (ulong)*puVar32;
              bVar7 = 0;
            }
            else {
LAB_0013f48c:
              if (uVar19 < 0x30) {
                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));
                *param_3 = uVar19 + 8;
              }
              else {
                puVar22 = *(ulong **)(param_3 + 2);
                *(ulong **)(param_3 + 2) = puVar22 + 1;
              }
              uVar37 = *puVar22;
              bVar7 = 0;
            }
          }
          else {
LAB_0013f695:
            uVar37 = FUN_001203a0(local_d8);
            bVar7 = 0;
          }
LAB_0013f51d:
          if (uVar37 == 0) {
            bVar35 = 0;
          }
        }
        else {
          if (local_b6 == 0) {
            uVar19 = *param_3;
            if (cVar18 == '\0') {
              if (uVar19 < 0x30) {
                piVar21 = (int *)((ulong)uVar19 + *(long *)(param_3 + 4));
                *param_3 = uVar19 + 8;
              }
              else {
                piVar21 = *(int **)(param_3 + 2);
                *(int **)(param_3 + 2) = piVar21 + 2;
              }
              uVar37 = (ulong)*piVar21;
              if ((long)uVar37 < 0) goto LAB_0013eb61;
            }
            else {
LAB_0013f15e:
              if (uVar19 < 0x30) {
                puVar22 = (ulong *)((ulong)uVar19 + *(long *)(param_3 + 4));
                *param_3 = uVar19 + 8;
              }
              else {
                puVar22 = *(ulong **)(param_3 + 2);
                *(ulong **)(param_3 + 2) = puVar22 + 1;
              }
              uVar37 = *puVar22;
              if ((long)uVar37 < 0) goto LAB_0013f180;
            }
            goto LAB_0013f51d;
          }
LAB_0013f4cf:
          uVar37 = FUN_001203a0(local_d8);
          if (-1 < (long)uVar37) goto LAB_0013f51d;
LAB_0013f180:
          if (uVar37 == 0x8000000000000000) {
            bVar7 = 0x2d;
            uVar37 = 0x8000000000000000;
          }
          else {
LAB_0013eb61:
            uVar37 = -uVar37;
            bVar7 = 0x2d;
          }
        }
        if ((bVar39) && (uVar19 = uVar12 - (bVar7 != 0), (int)uVar10 < (int)uVar19)) {
          uVar10 = uVar19;
        }
        if ((int)uVar10 < 0x25) {
          local_e0 = (byte *)0x0;
          pbVar13 = local_43;
        }
        else {
          lVar23 = (long)(int)uVar10 + 10;
          if (bVar36 != 0) {
            lVar23 = lVar23 + (int)uVar10 / 3;
          }
          local_e0 = (byte *)FUN_0011bc10(param_1,lVar23);
          if (local_e0 == (byte *)0x0) goto switchD_0013ea21_caseD_11;
          pbVar13 = local_e0 + (long)(int)lVar23 + -1;
        }
        pbVar24 = pbVar13;
        if (cVar33 == '\x0f') {
          if ((uVar37 % 10 < 4) && ((uVar37 / 10) % 10 != 1)) {
            iVar9 = (int)(uVar37 % 10) * 2;
            bVar25 = "thstndrd"[iVar9 + 1];
            bVar8 = "thstndrd"[iVar9];
          }
          else {
            bVar8 = 0x74;
            bVar25 = 0x68;
          }
          pbVar13[-1] = bVar25;
          pbVar24 = pbVar13 + -2;
          pbVar13[-2] = bVar8;
        }
        bVar25 = (&DAT_001f5564)[lVar30 * 6];
        uVar28 = (ulong)(byte)(&DAT_001f5561)[lVar30 * 6];
        do {
          pbVar24 = pbVar24 + -1;
          *pbVar24 = "0123456789ABCDEF0123456789abcdef"[uVar37 % uVar28 + (ulong)bVar25];
          bVar39 = uVar28 <= uVar37;
          uVar37 = uVar37 / uVar28;
        } while (bVar39);
        uVar19 = (int)pbVar13 - (int)pbVar24;
        pbVar38 = pbVar24;
        if ((int)uVar19 < (int)uVar10) {
          pbVar38 = pbVar24 + ~(ulong)((uVar10 - 1) - uVar19);
          do {
            pbVar24 = pbVar24 + -1;
            *pbVar24 = 0x30;
            uVar19 = uVar10;
          } while (pbVar24 != pbVar38);
        }
        if (bVar36 != 0) {
          iVar29 = (int)(uVar19 - 1) / 3;
          iVar9 = (int)(uVar19 - 1) % 3 + 1;
          pbVar38 = pbVar38 + -(long)iVar29;
          if (iVar29 != 0) {
            iVar31 = 0;
            while( true ) {
              do {
                iVar20 = iVar31;
                pbVar38[iVar20] = pbVar38[iVar29 + iVar20];
                iVar9 = iVar9 + -1;
                iVar31 = iVar20 + 1;
              } while (iVar9 != 0);
              pbVar38[iVar20 + 1] = bVar36;
              iVar29 = iVar29 + -1;
              if (iVar29 == 0) break;
              iVar9 = 3;
              iVar31 = iVar20 + 2;
            }
          }
        }
        if (bVar7 != 0) {
          pbVar38[-1] = bVar7;
          pbVar38 = pbVar38 + -1;
        }
        if ((bVar35 != 0) && (bVar7 = (&DAT_001f5565)[lVar30 * 6], bVar7 != 0)) {
          pbVar24 = &DAT_001f55ea + bVar7;
          bVar7 = (&DAT_001f55ea)[bVar7];
          while (bVar7 != 0) {
            pbVar38 = pbVar38 + -1;
            pbVar24 = pbVar24 + 1;
            *pbVar38 = bVar7;
            bVar7 = *pbVar24;
          }
        }
        uVar10 = (int)pbVar13 - (int)pbVar38;
        uVar37 = (ulong)uVar10;
        pbVar24 = (byte *)(ulong)(uVar12 - uVar10);
LAB_0013f018:
        if ((int)pbVar24 < 1) {
LAB_0013fd63:
          FUN_0013e580(param_1,pbVar38,uVar37);
        }
        else if (bVar5) {
          FUN_0013e580(param_1,pbVar38,uVar37);
          FUN_0013e4b0(param_1,pbVar24,0x20);
        }
        else {
          FUN_0013e4b0(param_1,pbVar24,0x20);
          FUN_0013e580(param_1,pbVar38,uVar37);
        }
        if (local_e0 != (byte *)0x0) {
          FUN_00119e90(*param_1,local_e0);
        }
        break;
      case '\x01':
      case '\x02':
      case '\x03':
        if (local_b6 == 0) {
          uVar19 = param_3[1];
          if (uVar19 < 0xb0) {
            param_3[1] = uVar19 + 0x10;
            dVar41 = *(double *)((ulong)uVar19 + *(long *)(param_3 + 4));
          }
          else {
            pdVar1 = *(double **)(param_3 + 2);
            *(double **)(param_3 + 2) = pdVar1 + 1;
            dVar41 = *pdVar1;
          }
          if (uVar10 == 0xffffffff) goto LAB_0013ec1b;
LAB_0013fb0a:
          bVar40 = 0 < (int)uVar10;
        }
        else {
          iVar9 = local_d8[1];
          if (iVar9 < *local_d8) {
            local_d8[1] = iVar9 + 1;
            dVar41 = (double)thunk_FUN_001113d0(*(undefined8 *)
                                                 (*(long *)(local_d8 + 2) + (long)iVar9 * 8));
          }
          else {
            dVar41 = 0.0;
          }
          if (uVar10 != 0xffffffff) goto LAB_0013fb0a;
LAB_0013ec1b:
          bVar40 = true;
          uVar10 = 6;
        }
        if (dVar41 < 0.0) {
          dVar41 = -dVar41;
          bVar7 = 0x2d;
        }
        dVar42 = DAT_001fae78;
        if ((cVar33 != '\x03') || (!bVar40)) {
          uVar19 = uVar10 & 0xfff;
          goto joined_r0x0013ec49;
        }
        uVar10 = uVar10 - 1;
        uVar19 = uVar10 & 0xfff;
        if (uVar19 != 0) {
          do {
            dVar42 = dVar42 * DAT_001faf40;
            uVar19 = uVar19 - 1;
joined_r0x0013ec49:
          } while (uVar19 != 0);
          if (cVar33 == '\x01') {
            dVar41 = dVar42 + dVar41;
          }
        }
        if (NAN(dVar41)) {
          pbVar24 = (byte *)(ulong)(uVar12 - 3);
          uVar37 = 3;
          local_e0 = (byte *)0x0;
          pbVar38 = &DAT_001e98fc;
          goto LAB_0013f018;
        }
        uVar37 = 0;
        if (0.0 < dVar41) {
          dVar3 = _DAT_001faf38;
          if (dVar41 < _DAT_001faf38) {
            dVar3 = (double)_DAT_001fae18;
            bVar40 = true;
            dVar4 = 1.0;
          }
          else {
            do {
              dVar4 = dVar3;
              uVar19 = (int)uVar37 + 100;
              uVar37 = (ulong)uVar19;
              bVar40 = (int)uVar19 < 0x15f;
              dVar3 = _DAT_001faf38 * dVar4;
            } while (_DAT_001faf38 * dVar4 <= dVar41 && (int)uVar19 < 0x15f);
            dVar3 = dVar4 * (double)_DAT_001fae18;
          }
          if ((dVar3 <= dVar41) && (bVar40)) {
            do {
              dVar4 = dVar3;
              uVar19 = (int)uVar37 + 10;
              uVar37 = (ulong)uVar19;
              bVar40 = (int)uVar19 < 0x15f;
              dVar3 = dVar4 * (double)_DAT_001fae18;
            } while (dVar4 * (double)_DAT_001fae18 <= dVar41 && bVar40);
          }
          dVar3 = (double)_DAT_001fae10;
          if ((dVar4 * dVar3 <= dVar41) && (dVar6 = dVar4 * dVar3, bVar40)) {
            do {
              dVar4 = dVar6;
              uVar19 = (int)uVar37 + 1;
              uVar37 = (ulong)uVar19;
              dVar6 = dVar4 * dVar3;
            } while ((int)uVar19 < 0x15f && dVar4 * dVar3 <= dVar41);
          }
          for (dVar41 = dVar41 / dVar4; dVar41 < _DAT_001faf48;
              dVar41 = dVar41 * (double)_DAT_001fae1c) {
            uVar37 = (ulong)((int)uVar37 - 8);
          }
          for (; dVar41 < 1.0; dVar41 = dVar41 * dVar3) {
            uVar37 = (ulong)((int)uVar37 - 1);
          }
          if (0x15e < (int)uVar37) {
            pbVar38 = local_88;
            pbVar13 = pbVar38 + (bVar7 != 0);
            local_88[0] = bVar7;
            pbVar13[0] = 0x49;
            pbVar13[1] = 0x6e;
            pbVar13[2] = 0x66;
            pbVar13[3] = 0;
            if (bVar7 == 0) {
              pbVar24 = (byte *)(ulong)(uVar12 - 3);
              uVar37 = 3;
              local_e0 = (byte *)0x0;
            }
            else {
              pbVar24 = (byte *)(ulong)(uVar12 - 4);
              uVar37 = 4;
              local_e0 = (byte *)0x0;
            }
            goto LAB_0013f018;
          }
        }
        local_c8 = (int)uVar37;
        local_b5 = bVar25;
        if (cVar33 == '\x01') {
          iVar9 = 0;
          if (-1 < local_c8) {
            iVar9 = local_c8;
          }
          lVar23 = (long)iVar9;
        }
        else {
          dVar41 = dVar42 + dVar41;
          if ((double)_DAT_001fae10 <= dVar41) {
            dVar41 = dVar41 * DAT_001faf40;
            uVar37 = (ulong)(local_c8 + 1);
          }
          local_c8 = (int)uVar37;
          if (cVar33 == '\x03') {
            local_b5 = bVar35 ^ 1;
            if ((local_c8 < -4) || ((int)uVar10 < local_c8)) {
              lVar23 = 0;
              cVar33 = '\x02';
              local_c8 = 0;
            }
            else {
              uVar10 = uVar10 - local_c8;
              iVar9 = 0;
              if (-1 < local_c8) {
                iVar9 = local_c8;
              }
              cVar33 = '\x01';
              lVar23 = (long)iVar9;
            }
          }
          else if (cVar33 == '\x02') {
            lVar23 = 0;
            local_c8 = 0;
          }
          else {
            cVar33 = '\x01';
            iVar9 = 0;
            if (-1 < local_c8) {
              iVar9 = local_c8;
            }
            lVar23 = (long)iVar9;
          }
        }
        lVar27 = (long)(int)uVar12;
        if (lVar23 + (int)uVar10 + 0xf + lVar27 < 0x47) {
          local_e0 = (byte *)0x0;
          pbVar38 = local_88;
        }
        else {
          pbVar38 = (byte *)FUN_0011bc10(param_1);
          local_e0 = pbVar38;
          if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;
        }
        iVar9 = (uint)bVar25 * 10 + 0x10;
        bVar40 = 0 < (int)uVar10;
        pbVar17 = pbVar38;
        pbVar13 = pbVar38 + 1;
        if (bVar7 != 0) {
          *pbVar38 = bVar7;
          pbVar13 = pbVar38 + 2;
          pbVar17 = pbVar38 + 1;
        }
        if (local_c8 < 0) {
          *pbVar17 = 0x30;
          uVar19 = local_c8 + 1;
          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {
            pbVar17 = pbVar13 + 1;
            *pbVar13 = 0x2e;
            pbVar13 = pbVar17;
            if (uVar19 == 0) goto LAB_0013edc4;
LAB_0013ed90:
            pbVar17 = pbVar13;
            do {
              pbVar14 = pbVar17 + 1;
              *pbVar17 = 0x30;
              pbVar17 = pbVar14;
            } while (pbVar14 != pbVar13 + (ulong)~uVar19 + 1);
            uVar10 = (uVar10 - 1) + local_c8 + 2;
            pbVar13 = pbVar13 + (ulong)(uint)-(local_c8 + 2) + 1;
LAB_0013edc4:
            if (0 < (int)uVar10) {
              pbVar17 = pbVar13;
              do {
                while (pbVar14 = pbVar17 + 1, 0 < iVar9) {
                  iVar9 = iVar9 + -1;
                  local_c8._0_1_ = (char)(int)ROUND(dVar41);
                  *pbVar17 = (char)local_c8 + 0x30;
                  dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;
                  pbVar17 = pbVar14;
                  if (pbVar14 == pbVar13 + (ulong)(uVar10 - 1) + 1) goto LAB_0013ee39;
                }
                *pbVar17 = 0x30;
                pbVar17 = pbVar14;
              } while (pbVar14 != pbVar13 + (ulong)(uVar10 - 1) + 1);
LAB_0013ee39:
              pbVar13 = pbVar13 + (ulong)(uVar10 - 1) + 1;
            }
            goto LAB_0013ee42;
          }
          if (uVar19 != 0) goto LAB_0013ed90;
        }
        else {
          pbVar13 = pbVar17 + (long)local_c8 + 1;
          do {
            while (pbVar14 = pbVar17, pbVar17 = pbVar14 + 1, 0 < iVar9) {
              iVar9 = iVar9 + -1;
              local_c8._0_1_ = (char)(int)ROUND(dVar41);
              *pbVar14 = (char)local_c8 + 0x30;
              dVar41 = (dVar41 - (double)(int)ROUND(dVar41)) * (double)_DAT_001fae10;
              if (pbVar17 == pbVar13) goto LAB_0013fe8d;
            }
            *pbVar14 = 0x30;
          } while (pbVar17 != pbVar13);
LAB_0013fe8d:
          if (bVar40 || (bVar35 != 0 || bVar25 != 0)) {
            pbVar13 = pbVar14 + 2;
            *pbVar17 = 0x2e;
            goto LAB_0013edc4;
          }
LAB_0013ee42:
          if ((local_b5 != 0) && (bVar40 || (bVar35 != 0 || bVar25 != 0))) {
            while (pbVar13[-1] == 0x30) {
              pbVar13 = pbVar13 + -1;
              *pbVar13 = 0;
            }
            if (pbVar13[-1] == 0x2e) {
              if (bVar25 == 0) {
                pbVar13[-1] = 0;
                pbVar13 = pbVar13 + -1;
              }
              else {
                *pbVar13 = 0x30;
                pbVar13 = pbVar13 + 1;
              }
            }
          }
        }
        if (cVar33 == '\x02') {
          pbVar17 = pbVar13 + 2;
          *pbVar13 = "0123456789ABCDEF0123456789abcdef"[(byte)(&DAT_001f5564)[lVar30 * 6]];
          bVar25 = 0x2b;
          if ((int)uVar37 < 0) {
            uVar37 = (ulong)(uint)-(int)uVar37;
            bVar25 = 0x2d;
          }
          pbVar13[1] = bVar25;
          if (99 < (int)uVar37) {
            pbVar17 = pbVar13 + 3;
            pbVar13[2] = (char)(uVar37 / 100) + 0x30;
            uVar37 = (ulong)(uint)((int)uVar37 + (int)(uVar37 / 100) * -100);
          }
          pbVar13 = pbVar17 + 2;
          cVar18 = (char)(uVar37 / 10);
          *pbVar17 = cVar18 + 0x30;
          pbVar17[1] = (char)uVar37 + cVar18 * -10 + 0x30;
        }
        *pbVar13 = 0;
        iVar9 = (int)((long)pbVar13 - (long)pbVar38);
        uVar37 = (long)pbVar13 - (long)pbVar38 & 0xffffffff;
        if (!(bool)(bVar39 & (bVar5 ^ 1U))) {
          pbVar24 = (byte *)(ulong)(uVar12 - iVar9);
          goto LAB_0013f018;
        }
        if (iVar9 < (int)uVar12) {
          iVar9 = uVar12 - iVar9;
          if (iVar9 <= (int)uVar12) {
            do {
              pbVar38[lVar27] = pbVar38[lVar27 - iVar9];
              lVar27 = lVar27 + -1;
            } while (iVar9 <= (int)lVar27);
          }
          pbVar13 = pbVar38 + (bVar7 != 0);
          do {
            *pbVar13 = 0x30;
            pbVar13 = pbVar13 + 1;
            uVar37 = (ulong)pbVar24;
          } while (pbVar38 + (ulong)(iVar9 - 1) + (ulong)(bVar7 != 0) + 1 != pbVar13);
        }
        goto LAB_0013fd63;
      case '\x04':
        if (local_b6 != 0) {
LAB_0013f287:
          FUN_0013e580(param_1,pbVar38,0);
          break;
        }
        uVar11 = *(undefined4 *)(param_1 + 3);
        uVar10 = *param_3;
        if (uVar10 < 0x30) {
          puVar26 = (undefined8 *)((ulong)uVar10 + *(long *)(param_3 + 4));
          *param_3 = uVar10 + 8;
        }
        else {
          puVar26 = *(undefined8 **)(param_3 + 2);
          *(undefined8 **)(param_3 + 2) = puVar26 + 1;
        }
        *(undefined4 *)*puVar26 = uVar11;
        FUN_0013e580(param_1,pbVar38,0);
        bVar7 = param_2[1];
        goto joined_r0x0013ebb8;
      case '\x05':
      case '\x06':
        if (local_b6 == 0) {
          uVar19 = *param_3;
          if (uVar19 < 0x30) {
            *param_3 = uVar19 + 8;
            pbVar38 = *(byte **)((ulong)uVar19 + *(long *)(param_3 + 4));
          }
          else {
            puVar26 = *(undefined8 **)(param_3 + 2);
            *(undefined8 **)(param_3 + 2) = puVar26 + 1;
            pbVar38 = (byte *)*puVar26;
          }
          if (pbVar38 == (byte *)0x0) goto LAB_0013fb9a;
          if (cVar33 != '\x06') goto LAB_0013f840;
          local_e0 = pbVar38;
          if (((*(int *)(param_1 + 3) != 0) || (*(int *)((long)param_1 + 0x14) == 0)) ||
             ((uVar12 != 0 || (-1 < (int)uVar10)))) goto joined_r0x0013fbae;
          if (*(char *)((long)param_1 + 0x1c) == '\0') {
            param_1[1] = pbVar38;
            uVar11 = (*DAT_0021f288)(pbVar38);
            *(undefined4 *)(param_1 + 2) = uVar11;
            sVar15 = strlen((char *)pbVar38);
            *(byte *)((long)param_1 + 0x1d) = *(byte *)((long)param_1 + 0x1d) | 4;
            *(uint *)(param_1 + 3) = (uint)sVar15 & 0x7fffffff;
            FUN_0013e580(param_1,pbVar38,0);
            break;
          }
LAB_0013fbb4:
          sVar15 = strlen((char *)pbVar38);
          uVar37 = (ulong)((uint)sVar15 & 0x7fffffff);
          goto LAB_0013fa12;
        }
        pbVar38 = (byte *)FUN_001408d0(local_d8);
        if (pbVar38 == (byte *)0x0) {
LAB_0013fb9a:
          local_e0 = (byte *)0x0;
          pbVar38 = &DAT_001e836f;
        }
        else {
LAB_0013f840:
          local_e0 = (byte *)0x0;
        }
joined_r0x0013fbae:
        if (uVar10 == 0xffffffff) goto LAB_0013fbb4;
        pbVar13 = pbVar38;
        if (bVar25 != 0) {
          while ((pbVar17 = pbVar13, uVar10 = uVar10 - 1, uVar10 != 0xffffffff && (*pbVar17 != 0)))
          {
            pbVar13 = pbVar17 + 1;
            if (0xbf < *pbVar17) {
              bVar7 = pbVar17[1];
              while ((bVar7 & 0xc0) == 0x80) {
                pbVar13 = pbVar13 + 1;
                bVar7 = *pbVar13;
              }
            }
          }
          uVar37 = (ulong)(uint)((int)pbVar17 - (int)pbVar38);
          bVar25 = 1;
          goto LAB_0013fa12;
        }
        if ((uVar10 == 0) || (*pbVar38 == 0)) {
          uVar37 = 0;
          goto LAB_0013f018;
        }
        uVar28 = 1;
        do {
          uVar37 = uVar28 & 0xffffffff;
          if ((ulong)(uVar10 - 1) + 1 == uVar28) break;
          pbVar13 = pbVar38 + uVar28;
          uVar28 = uVar28 + 1;
        } while (*pbVar13 != 0);
        goto LAB_0013eff2;
      case '\a':
        local_88[0] = 0x25;
        pbVar24 = (byte *)(ulong)(uVar12 - 1);
        pbVar38 = local_88;
        uVar37 = 1;
        local_e0 = (byte *)0x0;
        goto LAB_0013f018;
      case '\b':
        if (local_b6 == 0) {
          uVar19 = *param_3;
          if (uVar19 < 0x30) {
            *param_3 = uVar19 + 8;
            uVar19 = *(uint *)((ulong)uVar19 + *(long *)(param_3 + 4));
          }
          else {
            puVar32 = *(uint **)(param_3 + 2);
            *(uint **)(param_3 + 2) = puVar32 + 2;
            uVar19 = *puVar32;
          }
          if (0x7f < uVar19) {
            cVar18 = ((byte)uVar19 & 0x3f) + 0x80;
            bVar7 = (byte)(uVar19 >> 6);
            if (uVar19 < 0x800) {
              local_88[1] = cVar18;
              uVar37 = 2;
              local_88[0] = bVar7 - 0x40;
            }
            else {
              local_88[2] = (bVar7 & 0x3f) + 0x80;
              bVar7 = (byte)(uVar19 >> 0xc);
              if (uVar19 < 0x10000) {
                local_88[1] = local_88[2];
                uVar37 = 3;
                local_88[0] = bVar7 - 0x20;
                local_88[2] = cVar18;
              }
              else {
                uVar37 = 4;
                local_88[3] = cVar18;
                local_88[0] = ((byte)(uVar19 >> 0x12) & 7) - 0x10;
                local_88[1] = (bVar7 & 0x3f) + 0x80;
              }
            }
            goto LAB_0013fa75;
          }
          local_88[0] = (byte)uVar19;
          uVar37 = 1;
          uVar19 = 1;
        }
        else {
          pbVar38 = (byte *)FUN_001408d0(local_d8);
          if (pbVar38 == (byte *)0x0) {
            local_88[0] = 0;
          }
          else {
            local_88[0] = *pbVar38;
            if ((*pbVar38 & 0xc0) == 0xc0) {
              uVar28 = 1;
              do {
                uVar37 = uVar28 & 0xffffffff;
                if ((pbVar38[uVar28] & 0xc0) != 0x80) goto LAB_0013fa75;
                local_88[uVar28] = pbVar38[uVar28];
                uVar28 = uVar28 + 1;
              } while (uVar28 != 4);
              uVar37 = 4;
              goto LAB_0013fa75;
            }
          }
          uVar37 = 1;
LAB_0013fa75:
          uVar19 = (uint)uVar37;
        }
        if (1 < (int)uVar10) {
          iVar9 = uVar10 - 1;
          uVar12 = uVar12 - iVar9;
          if (((int)uVar12 < 2) || (bVar5)) {
            local_e0 = (byte *)(ulong)uVar12;
          }
          else {
            FUN_0013e4b0(param_1,uVar12 - 1,0x20);
            local_e0 = (byte *)0x0;
          }
          do {
            FUN_0013e580(param_1,local_88,uVar19);
            iVar9 = iVar9 + -1;
          } while (iVar9 != 0);
          uVar37 = (ulong)uVar19;
          pbVar24 = local_e0;
          uVar12 = (uint)local_e0;
        }
        if (0 < (int)uVar12) {
          pbVar38 = local_88;
          local_e0 = (byte *)0x0;
          iVar9 = (int)uVar37 + -1;
          goto LAB_0013efc6;
        }
        pbVar38 = local_88;
        FUN_0013e580(param_1,pbVar38,uVar37);
        break;
      case '\t':
      case '\n':
      case '\x0e':
        bVar7 = (cVar33 != '\x0e') * '\x05' + 0x22;
        if (local_b6 == 0) {
          uVar19 = *param_3;
          if (uVar19 < 0x30) {
            puVar26 = (undefined8 *)((ulong)uVar19 + *(long *)(param_3 + 4));
            *param_3 = uVar19 + 8;
          }
          else {
            puVar26 = *(undefined8 **)(param_3 + 2);
            *(undefined8 **)(param_3 + 2) = puVar26 + 1;
          }
          local_e0 = (byte *)*puVar26;
          if (local_e0 == (byte *)0x0) goto LAB_0013eec9;
LAB_0013f8df:
          if ((uVar10 != 0) && (bVar35 = *local_e0, pbVar13 = local_e0, bVar35 != 0))
          goto LAB_0013f8fa;
          if (cVar33 != '\n') {
            pbVar17 = local_88;
            uVar37 = 0;
            local_e0 = (byte *)0x0;
            pbVar38 = pbVar17;
            goto LAB_0013fa0c;
          }
          pbVar38 = local_88;
          local_88[0] = bVar7;
          lVar30 = 2;
          uVar37 = 2;
          local_e0 = (byte *)0x0;
          pbVar17 = local_88 + 1;
LAB_0013fa06:
          *pbVar17 = bVar7;
          pbVar17 = pbVar38 + lVar30;
        }
        else {
          local_e0 = (byte *)FUN_001408d0(local_d8);
          if (local_e0 != (byte *)0x0) goto LAB_0013f8df;
LAB_0013eec9:
          pbVar13 = (byte *)0x1e846d;
          if (cVar33 != '\n') {
            pbVar13 = &DAT_001e9900;
          }
          if (uVar10 == 0) {
            pbVar17 = local_88;
            uVar37 = 0;
            pbVar38 = pbVar17;
          }
          else {
            bVar35 = *pbVar13;
LAB_0013f8fa:
            iVar29 = 0;
            iVar9 = 0;
            do {
              iVar31 = iVar9;
              if (bVar7 == bVar35) {
                iVar29 = iVar29 + 1;
              }
              else if (((bVar25 != 0) && ((bVar35 & 0xc0) == 0xc0)) &&
                      (((int)(char)pbVar13[(long)iVar9 + 1] & 0xc0U) == 0x80)) {
                lVar30 = (long)(iVar9 + 1);
                do {
                  lVar23 = lVar30 + 1;
                  iVar31 = (int)lVar30;
                  lVar30 = lVar30 + 1;
                } while (((int)(char)pbVar13[lVar23] & 0xc0U) == 0x80);
              }
              iVar9 = iVar31 + 1;
              if (uVar10 == 1) break;
              uVar10 = uVar10 - 1;
              bVar35 = pbVar13[iVar9];
            } while (bVar35 != 0);
            bVar40 = local_e0 != (byte *)0x0;
            bVar39 = bVar40 && cVar33 == '\n';
            if (iVar31 + 4 + iVar29 < 0x47) {
              local_e0 = (byte *)0x0;
              pbVar38 = local_88;
            }
            else {
              pbVar38 = (byte *)FUN_0011bc10(param_1);
              local_e0 = pbVar38;
              if (pbVar38 == (byte *)0x0) goto switchD_0013ea21_caseD_11;
            }
            if (bVar39) {
              *pbVar38 = bVar7;
            }
            uVar37 = (ulong)bVar39;
            lVar30 = 0;
            do {
              while( true ) {
                bVar35 = pbVar13[lVar30];
                iVar29 = (int)uVar37;
                uVar37 = (ulong)(iVar29 + 1U);
                pbVar38[iVar29] = bVar35;
                pbVar17 = pbVar38 + (int)(iVar29 + 1U);
                if (bVar7 != bVar35) break;
                uVar37 = (ulong)(iVar29 + 2U);
                *pbVar17 = bVar7;
                lVar30 = lVar30 + 1;
                pbVar17 = pbVar38 + (int)(iVar29 + 2U);
                if (iVar9 <= (int)lVar30) goto LAB_0013f9fa;
              }
              lVar30 = lVar30 + 1;
            } while ((int)lVar30 < iVar9);
LAB_0013f9fa:
            if (bVar40 && cVar33 == '\n') {
              uVar10 = (int)uVar37 + 1;
              uVar37 = (ulong)uVar10;
              lVar30 = (long)(int)uVar10;
              goto LAB_0013fa06;
            }
          }
        }
LAB_0013fa0c:
        *pbVar17 = 0;
LAB_0013fa12:
        if (((0 < (int)uVar12) && (bVar25 != 0)) && (iVar9 = (int)uVar37 + -1, -1 < iVar9)) {
LAB_0013efc6:
          lVar30 = (long)iVar9;
          do {
            pbVar13 = pbVar38 + lVar30;
            lVar30 = lVar30 + -1;
            uVar12 = (int)pbVar24 + (uint)(((int)(char)*pbVar13 & 0xc0U) == 0x80);
            pbVar24 = (byte *)(ulong)uVar12;
          } while (-1 < (int)lVar30);
        }
LAB_0013eff2:
        pbVar24 = (byte *)(ulong)(uVar12 - (int)uVar37);
        goto LAB_0013f018;
      case '\v':
        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;
        uVar10 = *param_3;
        if (uVar10 < 0x30) {
          plVar16 = (long *)((ulong)uVar10 + *(long *)(param_3 + 4));
          *param_3 = uVar10 + 8;
        }
        else {
          plVar16 = *(long **)(param_3 + 2);
          *(long **)(param_3 + 2) = plVar16 + 1;
        }
        puVar26 = (undefined8 *)*plVar16;
        if ((puVar26 == (undefined8 *)0x0) || (*(int *)(puVar26 + 1) == 0)) goto LAB_0013f287;
        FUN_0013e580(param_1,*puVar26);
        FUN_0013e580(param_1,pbVar38,0);
        break;
      case '\f':
        if ((*(byte *)((long)param_1 + 0x1d) & 1) == 0) goto switchD_0013ea21_caseD_11;
        uVar10 = *param_3;
        if (uVar10 < 0x30) {
          uVar12 = uVar10 + 8;
          *param_3 = uVar12;
          lVar30 = *(long *)(*(long *)(param_3 + 4) + (ulong)uVar10);
          if (0x2f < uVar12) {
            plVar16 = *(long **)(param_3 + 2);
            goto LAB_0013f46b;
          }
          plVar16 = (long *)(*(long *)(param_3 + 4) + (ulong)uVar12);
          *param_3 = uVar10 + 0x10;
        }
        else {
          plVar2 = *(long **)(param_3 + 2);
          plVar16 = plVar2 + 1;
          *(long **)(param_3 + 2) = plVar16;
          lVar30 = *plVar2;
LAB_0013f46b:
          *(long **)(param_3 + 2) = plVar16 + 1;
        }
        lVar23 = *plVar16;
        if (*(long *)(lVar30 + 0x10 + (long)(int)lVar23 * 0x70) != 0) {
          FUN_0013e5b0(param_1);
          FUN_0013e580(param_1,&DAT_001eaed8,1);
        }
        FUN_0013e5b0(param_1,*(undefined8 *)(lVar30 + 0x18 + (long)(int)lVar23 * 0x70));
        FUN_0013e580(param_1,pbVar38,0);
        break;
      case '\r':
        bVar36 = (&DAT_001f5562)[lVar30 * 6] & 1;
        if (((&DAT_001f5562)[lVar30 * 6] & 1) == 0) {
          if (local_b6 != 0) goto LAB_0013f695;
          uVar19 = *param_3;
          bVar36 = 0;
          goto LAB_0013f48c;
        }
        bVar36 = 0;
        if (local_b6 == 0) {
          uVar19 = *param_3;
          goto LAB_0013f15e;
        }
        goto LAB_0013f4cf;
      default:
        goto switchD_0013ea21_caseD_11;
      }
      bVar7 = param_2[1];
joined_r0x0013ebb8:
      param_2 = param_2 + 1;
    } while (bVar7 != 0);
  }
switchD_0013ea21_caseD_11:
  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}

